Docker 制作镜像

  • Post author:
  • Post category:其他


基于容器制作

docker commit

`Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]`

(1)Options 参数

-a,作者(例如,“along along@along.com”)

-c,修改Dockerfile指令应用于创建的镜像

-m,提交消息

-p,在提交期间暂停容器(默认为true)

[root@localhost ~]# docker run -it –name a1 busybox /bin/sh

/ # mkdir -p /data/html

/ # echo “<h1>busybox httpd server</h1>” > /data/html/index.html

/ # cat /data/html/index.html

<h1>busybox httpd server</h1>

/ #

将a1 容器制作成镜像

[root@localhost ~]# docker commit -a ‘liuhang’ -m ‘first commit’ a1 liuhang/httpd:v1

sha256:6e70025f5dfaef9a03d33d6f57252d0e86000614eb1c5ff868c817c548091a91

[root@localhost ~]# docker image ls

15291094743/hangliuc/busybox   v1            beae173ccac6   2 months ago     1.24MB


[root@localhost ~]# docker run –rm -it liuhang/httpd:v1 /bin/sh

/ # cat /data/html/index.html

<h1>busybox httpd server</h1>

/ # exit

-c 执行指令

基于容器v1创建新的镜像,并修改命令为执行httpd服务

[root@localhost ~]# docker commit -a ‘liuhang’ -m ‘sencond commit’ -c ‘CMD [“/bin/httpd”,”-f”,”-h”,”/data/html”]’ a1 liuhang/httpd:v2

sha256:7a3e6fa0cae7e0750c36a518e447a36d1231e0e16029787e04f323b2886b4775

[root@localhost ~]# docker image ls

liuhang/httpd                  v2            7a3e6fa0cae7   5 seconds ago   1.24MB


测试:

做端口映射,以便于用外网访问http服务

[root@localhost ~]# docker run -d –name a2 -p 8888:80  liuhang/httpd:v2

86f54a75822f006e90aafd94579935789afb9749de768d9c42265fd25e4b39e6

[root@localhost ~]# docker inspect a2 | grep ‘IPAddress’

“SecondaryIPAddresses”: null,

“IPAddress”: “172.17.0.3”,

“IPAddress”: “172.17.0.3”



版权声明:本文为weixin_45934327原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。