Docker學習之路(六)用commit命令建立鏡像

假期快要結束了,乾點正事,接着Docker的學習。git

構建鏡像

構建鏡像的兩種方法:docker

  • 使用docker commit 命令
  • 使用docker build命令和Dockerfile文件

Dockerfile更搶到、靈活,推薦使用。apache

通常來講不是真的「建立」新鏡像,而是基於一個已有的基礎鏡像,好比Ubuntu、Fedora等,構建新的鏡像而已。從零構建一個全新的鏡像可參考這篇文章ubuntu

用commit建立鏡像

建立Docker帳號

共享和發佈鏡像時構建鏡像中重要的環節,能夠將鏡像推送到Docker Hub或資金的私有Registry中。首先到https://hub.docker.com/account/signup/ 建立帳號。windows

clipboard.png

郵件激活後,能夠測試登陸:bash

$ sudo docker login

clipboard.png

這條命令會完成登陸,並將認證信息報錯起來供後面使用。我的認證信息將報錯到$HOME/ .dockercfg文件中.服務器

用 commit 命令建立鏡像

能夠想象是往版本控制系統裏提交變動:首先建立一個容器,並在容器裏作修改,就行修改代碼同樣,最後在講修改提交爲一個新鏡像。學習

建立一個新容器命令:測試

$ sudo docker run -i -t ubuntu /bin/bash

我用以前建立好的aoct容器:ui

$ sudo docker start aoct
$ sudo docker attach aoct

clipboard.png

安裝Apache:

root@614122c0aabb:/# apt-get -yqq update
...
root@614122c0aabb:/# apt-get -y install apache2
...

clipboard.png

想把這個容器做爲一個Web服務器來運行,因此要把它當前狀態保存下來,就沒必要每次都建立一個新容器並再次安裝Apache。

因此先用exit命令退出容器,再運行docker commit命令:

$ sudo docker commit 614122c0aabb aoct/apache2

clipboard.png

命令中,指定了要提交的修改過的容器的ID、目標鏡像倉庫、鏡像名。commit提交的知識建立容器的鏡像與容器的當前狀態之間的差別部分,很輕量。

查看新建立的鏡像:

$ sudo docker images aoct/apache2

clipboard.png

也能夠像git同樣,在提交鏡像時指定更多信息來描述所作的修改:

$ sudo docker commit -m='A new image' --author='Aomine' 614122c0aabb aoct/apache2

clipboard.png

上面代碼,用-m指定行建立的鏡像的提交信息。--author指定鏡像做者,接着是容器ID、目標鏡像倉庫、鏡像名。

使用docker inspect命令查看新建立的鏡像的詳細信息:

$ sudo docker inspect aoct/apache2

clipboard.png

使用docker run命令從剛建立的新鏡像運行一個容器:

$ sudo docker run -t -i aoct/apache2 /bin/bash

clipboard.png


【本人的學習筆記,主要是對《個人第一本Docker書》、《Docker —— 從入門到實踐》的學習記錄,引用了不少書上的話和例子,並結合其餘各類資源的學習。我使用的是windows 7, docker 1.3.2。】

相關文章
相關標籤/搜索