1埋同、從docker hub倉庫下載一個鏡像劳较,并查看下載的鏡像:
$ docker pull ubutun:12.04
$ docker images
2驹止、使用該鏡像創(chuàng)建一個容器浩聋,運行bash應用:
$ docker run -t -i ubuntu:12.04 /bin/bash
除了從倉庫下載鏡像,當然也可以自己在本地創(chuàng)建鏡像幢哨,首先要學會修改鏡像赡勘。
1.修改鏡像
1、 用下載好的鏡像啟動容器
$ docker run –t –i ubuntu:12.04 /bin/bash
2捞镰、 在容器內(nèi)進行操作闸与,安裝一些軟件等等。
3岸售、 退出已經(jīng)被修改的容器践樱,使用docker commit命令提交更新后的容器,從而修改鏡像凸丸。
$ docker commit -m "instll gem" -a "docker newbee" ff693a0c8911 ubuntu:12.04
其中拷邢,-m指定提交的說明信息,-a指定更新的用戶信息屎慢,隨后的參數(shù)是所修改的容器的id瞭稼,最后是鏡像的倉庫名和tag信息。創(chuàng)建成功后會返回新鏡像的id:
注:在容器內(nèi)操作時出現(xiàn)一些問題腻惠,gem install json一直報錯环肘。一般出現(xiàn)下圖所示問題,都是由于源集灌,apt-get update更新一下就好悔雹。
2.創(chuàng)建鏡像
1、 創(chuàng)建一個目錄欣喧,并進入
$ mkdir docker_lab
$ cd docker_lab
2腌零、 創(chuàng)建Dockerfile,build操作會根據(jù)Dockerfile的內(nèi)容執(zhí)行
$ touch Dockerfile
Douckerfile內(nèi)容如下:
# This is a comment
FROM ubuntu:14.04 #以該鏡像作為基礎
MAINTAINER Docker Newbee newbee@docker.com #維護者信息
RUN apt-get -qq update #RUN后面是需執(zhí)行的命令
RUN apt-get install gem
3唆阿、 Dockerfile編寫完成后開始創(chuàng)建鏡像
$ docker build –t=”user/ubuntu:v2” .
其中-t用來指定倉庫名稱和tag益涧,而“.”表明Dockerfile所在的目錄。
4驯鳖、 修改鏡像tag
$ docker tag [鏡像id] repository:tag
查看可以發(fā)現(xiàn)原tag和新tag都存在饰躲,其實這兩個是同一個鏡像,因為id是一樣的臼隔。
3.存出和載入鏡像
1、從本地系統(tǒng)導入鏡像
$ 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]
如果不先刪除與鏡像相關的容器盛正,則無法刪除鏡像删咱。