这篇文章主要为大家展示了“docker中Dockerfile如何自定义mycentos”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“docker中Dockerfile如何自定义mycentos”这篇文章吧。
Docker Hub中99%的镜像是通过在base镜像中安装和配置需要的软件构建出来的。也就是说base镜像是所有其他镜像的鼻祖。
[root@t-docker chenzx]# docker run -it centos
[root@ef7873879474 /]# vim a.txt ##默认ceonts不支持vim命令
bash: vim: command not found
[root@ef7873879474 /]# ifconfig ##默认centos不支持ifconfig命令
bash: ifconfig: command not found
1、编写Dokcerfile文件
[root@t-docker mycentos]# cat Dockerfile
FROM centos
MAINTAINER chenzx chenzx@11.com
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "success-----ok"
CMD /bin/bash
2、构建
语法:docker build -t 新镜像名字:TAG .
[root@t-docker mycentos]# docker build -f ./Dockerfile -t mycentos:1.3 .
Sending build context to Docker daemon 2.048kB
Step 1/10 : FROM centos
---> 5182e96772bf
Step 2/10 : MAINTAINER chenzx chenzx@11.com
---> Running in bf692c9a8f30
Removing intermediate container bf692c9a8f30
---> be7c6d72dcf6
Step 3/10 : ENV MYPATH /usr/local
---> Running in bfbe973063c4
Removing intermediate container bfbe973063c4
---> b6117be61d21
Step 4/10 : WORKDIR $MYPATH
---> Running in dc207977e37e
Removing intermediate container dc207977e37e
---> a299de1b142d
Step 5/10 : RUN yum -y install vim
---> Running in 7b18a2ea02ba
Loaded plugins: fastestmirror, ovl
Determining fastest mirrors
* base: mirror.bit.edu.cn
* extras: mirror.bit.edu.cn
* updates: mirror.bit.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package vim-enhanced.x86_64 2:7.4.160-4.el7 will be installed
--> Processing Dependency: vim-common = 2:7.4.160-4.el7 for package: 2:vim-enhanced-7.4.160-4.el7.x86_64
--> Processing Dependency: which for package: 2:vim-enhanced-7.4.160-4.el7.x86_64
--> Processing Dependency: perl(:MODULE_COMPAT_5.16.3) for package: 2:vim-enhanced-7.4.160-4.el7.x86_64
--> Processing Dependency: libperl.so()(64bit) for package: 2:vim-enhanced-7.4.160-4.el7.x86_64
---> 41b54eafc062
Step 6/10 : RUN yum -y install net-tools
---> Running in 4fe95a3f928d
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
* base: mirror.bit.edu.cn
* extras: mirror.bit.edu.cn
* updates: mirror.bit.edu.cn
Resolving Dependencies
--> Running transaction check
Step 7/10 : EXPOSE 80
---> Running in b49331f041a0
Removing intermediate container b49331f041a0
---> 255ce503616b
Step 8/10 : CMD echo $MYPATH
---> Running in 0c8a45aa210f
Removing intermediate container 0c8a45aa210f
---> b70d750b50c6
Step 9/10 : CMD echo "success-----ok"
---> Running in 0f82aaeab3af
Removing intermediate container 0f82aaeab3af
---> 41680031171e
Step 10/10 : CMD /bin/bash
---> Running in 5694bd9a1dab
Removing intermediate container 5694bd9a1dab
---> 0c868c56748b
Successfully built 0c868c56748b
Successfully tagged mycentos:1.3
[root@t-docker mycentos]#
[root@t-docker mycentos]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mycentos 1.3 0c868c56748b 5 minutes ago 442MB
3、运行
[root@t-docker mycentos]# docker run -it mycentos:1.3
[root@28ab180a72d7 local]# pwd ##落脚点是/usr/local
/usr/local
[root@28ab180a72d7 local]# vim a.txt ##vim命令也有了
[root@28ab180a72d7 local]# ifconfig ##ifconfig命令有了
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.2 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:ac:11:00:02 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@28ab180a72d7 local]#
4、列出镜像的变更历史
功能:从底下往上看,可以看出制作mycentos镜像的历史过程。
[root@t-docker mycentos]# docker images mycentos
REPOSITORY TAG IMAGE ID CREATED SIZE
mycentos 1.3 0c868c56748b 12 minutes ago 442MB
[root@t-docker mycentos]# docker history 0c868c56748b
IMAGE CREATED CREATED BY SIZE COMMENT
0c868c56748b 12 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "/bin… 0B
41680031171e 12 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "echo… 0B
b70d750b50c6 12 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "echo… 0B
255ce503616b 12 minutes ago /bin/sh -c #(nop) EXPOSE 80 0B
1cb7e8747969 12 minutes ago /bin/sh -c yum -y install net-tools 93.7MB
41b54eafc062 12 minutes ago /bin/sh -c yum -y install vim 149MB
a299de1b142d 13 minutes ago /bin/sh -c #(nop) WORKDIR /usr/local 0B
b6117be61d21 13 minutes ago /bin/sh -c #(nop) ENV MYPATH=/usr/local 0B
be7c6d72dcf6 13 minutes ago /bin/sh -c #(nop) MAINTAINER chenzx chenzx@… 0B
5182e96772bf 3 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
<missing> 3 weeks ago /bin/sh -c #(nop) LABEL org.label-schema.sc… 0B
<missing> 3 weeks ago /bin/sh -c #(nop) ADD file:6340c690b08865d7e… 200MB
以上是“docker中Dockerfile如何自定义mycentos”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:http://blog.itpub.net/28916011/viewspace-2213388/