1、從docker hub倉庫下載一個鏡像,并查看下載的鏡像:
$ docker pull ubutun:12.04
$ docker images
2、使用該鏡像創建一個容器,運行bash應用:
$ docker run -t -i ubuntu:12.04 /bin/bash
除了從倉庫下載鏡像,當然也可以自己在本地創建鏡像,首先要學會修改鏡像。
1.修改鏡像
1、 用下載好的鏡像啟動容器
$ docker run –t –i ubuntu:12.04 /bin/bash
2、 在容器內進行操作,安裝一些軟件等等。
3、 退出已經被修改的容器,使用docker commit命令提交更新后的容器,從而修改鏡像。
$ docker commit -m "instll gem" -a "docker newbee" ff693a0c8911 ubuntu:12.04
其中,-m指定提交的說明信息,-a指定更新的用戶信息,隨后的參數是所修改的容器的id,最后是鏡像的倉庫名和tag信息。創建成功后會返回新鏡像的id:
注:在容器內操作時出現一些問題,gem install json一直報錯。一般出現下圖所示問題,都是由于源,apt-get update更新一下就好。
2.創建鏡像
1、 創建一個目錄,并進入
$ mkdir docker_lab
$ cd docker_lab
2、 創建Dockerfile,build操作會根據Dockerfile的內容執行
$ touch Dockerfile
Douckerfile內容如下:
# This is a comment
FROM ubuntu:14.04 #以該鏡像作為基礎
MAINTAINER Docker Newbee newbee@docker.com #維護者信息
RUN apt-get -qq update #RUN后面是需執行的命令
RUN apt-get install gem
3、 Dockerfile編寫完成后開始創建鏡像
$ docker build –t=”user/ubuntu:v2” .
其中-t用來指定倉庫名稱和tag,而“.”表明Dockerfile所在的目錄。
4、 修改鏡像tag
$ docker tag [鏡像id] repository:tag
查看可以發現原tag和新tag都存在,其實這兩個是同一個鏡像,因為id是一樣的。
3.存出和載入鏡像
1、從本地系統導入鏡像
$ cat openvswitch-2.3.0.tar.gz |docker import - ovs:230
$ docker images
2、上傳鏡像
$ docker login docker.io
$ docker tag local-image:tagname userfc/lab1:tagname
$ docker push userfc/lab1:tagname
上傳未成功,可能由于被墻,具體原因有待定位。
4、 存出鏡像
$ docker save -o ubuntu_12.04.tar ubuntu:12.04
5、載入鏡像
$ docker load --input ubuntu_12.04.tar
5、 刪除本地鏡像
$ docker rm [與鏡像相關的容器id]
$ docker rmi [鏡像id]
如果不先刪除與鏡像相關的容器,則無法刪除鏡像。