Docker學習之路(六)用commit命令建立映象
阿新 • • 發佈:2018-12-23
構建映象
構建映象的兩種方法:
- 使用
docker commit
命令 - 使用
docker build
命令和Dockerfile
檔案
Dockerfile更搶到、靈活,推薦使用。
一般來說不是真的“建立”新映象,而是基於一個已有的基礎映象,比如Ubuntu、Fedora等,構建新的映象而已。從零構建一個全新的映象可參考這篇文章
用commit建立映象
建立Docker賬號
共享和釋出映象時構建映象中重要的環節,可以將映象推送到Docker Hub或資金的私有Registry中。首先到https://hub.docker.com/account/signup/ 建立賬號。
郵件啟用後,可以測試登入:
$ sudo docker login
這條命令會完成登入,並將認證資訊報錯起來供後面使用。個人認證資訊將報錯到$HOME/ .dockercfg
檔案中.
用 commit 命令建立映象
可以想象是往版本控制系統裡提交變更:首先建立一個容器,並在容器裡做修改,就行修改程式碼一樣,最後在講修改提交為一個新映象。
建立一個新容器命令:
$ sudo docker run -i -t ubuntu /bin/bash
我用之前建立好的aoct容器:
$ sudo docker start aoct
$ sudo docker attach aoct
安裝Apache:
root@614122c0aabb :/# apt-get -yqq update
...
root@614122c0aabb:/# apt-get -y install apache2
...
想把這個容器作為一個Web伺服器來執行,所以要把它當前狀態儲存下來,就不必每次都建立一個新容器並再次安裝Apache。
所以先用exit
命令退出容器,再執行docker
commit
命令:
$ sudo docker commit 614122c0aabb aoct/apache2
命令中,指定了要提交的修改過的容器的ID、目標映象倉庫、映象名。commit
提交的知識建立容器的映象與容器的當前狀態之間的差異部分,很輕量。
檢視新建立的映象:
$ sudo docker images aoct/apache2
也可以像git一樣,在提交映象時指定更多資訊來描述所做的修改:
$ sudo docker commit -m='A new image' --author='Aomine' 614122c0aabb aoct/apache2
上面程式碼,用-m
指定行建立的映象的提交資訊。--author
指定映象作者,接著是容器ID、目標映象倉庫、映象名。
使用docker inspect
命令檢視新建立的映象的詳細資訊:
$ sudo docker inspect aoct/apache2
使用docker run
命令從剛建立的新映象執行一個容器:
$ sudo docker run -t -i aoct/apache2 /bin/bash
轉自: https://segmentfault.com/a/1190000002567459