标签:bin ago minutes CentOS root 自己 sh 构建 dockerfile
文章目录
前言
Docker Hub 中99% 的镜像都是通过在base镜像(Scratch)中安装和配置需要的软件构建出来的
1. 编写DockerFile
目的:使我们自己的镜像具备如下:登陆后的默认路径、vim编辑器、查看网络配置ifconfig支持
准备编写DockerFlie文件
思路
mkdir dockerfile # 创建个文件夹dockerfile,在此文件夹下操作
vim mydockerfile-centos # 在mydockerfile-centos下编写镜像
开始编写,编写完成后:wq保存
cat mydockerfile-centos # 查看
实施过程
[root@localhost home]# mkdir dockerfile
[root@localhost home]# cd dockerfile
[root@localhost dockerfile]# vim mydockerfile-centos
[root@localhost dockerfile]# cat mydockerfile-centos
编写的mydockerfile-centos的内容
FROM centos
MAINTAINER mayxue<邮箱>
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "----------end--------"
CMD /bin/bash
2. 构建
思路
到 docker build 命令最后有一个 “.” , “.” 表示当前目录
# 开始构建
docker build -f dockerfile文件路径 -t 镜像名:[版本号] .
最后出现
Successfully built fca5e7d8ee43
Successfully tagged mycentos:0.1
说明构建成功
具体操作
[root@localhost dockerfile]# docker build -f mydockerfile-centos -t mycentos:0.1 .
3. 测试运行
思路
docker images # 查看镜像,发现已经存在mycentos
docker run -it mycentos:0.1 # 运行
测试pwd命令 出现的/usr/local是我们之前编写指定的
测试ipconfig命令
docker history 镜像id查看当前镜像的构建历史
[root@localhost dockerfile]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mycentos 0.1 fca5e7d8ee43 2 minutes ago 291MB
[root@2307bdce8a66 local]# pwd
/usr/local
[root@2307bdce8a66 local]# 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 8 bytes 656 (656.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@2307bdce8a66 local]# exit
exit
[root@localhost dockerfile]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mycentos 0.1 fca5e7d8ee43 13 minutes ago 291MB
tomcat latest 040bdb29ab37 3 weeks ago 649MB
nginx latest f6d0b4767a6c 3 weeks ago 133MB
centos latest 300e315adb2f 2 months ago 209MB
[root@localhost dockerfile]# docker history fca5e7d8ee43
IMAGE CREATED CREATED BY SIZE COMMENT
fca5e7d8ee43 13 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "/bin… 0B
2b81454930de 13 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "echo… 0B
0d3172a0e330 13 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "echo… 0B
0174a9bf7551 13 minutes ago /bin/sh -c #(nop) EXPOSE 80 0B
2738057d803c 13 minutes ago /bin/sh -c yum -y install net-tools 23.3MB
3240caab10d1 13 minutes ago /bin/sh -c yum -y install vim 58.1MB
38b5b8974eee 18 minutes ago /bin/sh -c #(nop) WORKDIR /usr/local 0B
916a12e41e17 18 minutes ago /bin/sh -c #(nop) ENV MYPATH=/usr/local 0B
697cfaced367 18 minutes ago /bin/sh -c #(nop) MAINTAINER mayxue<simeixu… 0B
300e315adb2f 2 months ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
<missing> 2 months ago /bin/sh -c #(nop) LABEL org.label-schema.sc… 0B
<missing> 2 months ago /bin/sh -c #(nop) ADD file:bd7a2aed6ede423b7… 209MB
[root@localhost dockerfile]#
4. 和官方的对比
官方的docker镜像
默认路径是/
不支持vim、不支持pwd、不支持ifconfig
我们构建的CentOS:
默认路径是/usr/local
支持vim、支持pwd、支持ifconfig
标签:bin,ago,minutes,CentOS,root,自己,sh,构建,dockerfile 来源: https://blog.csdn.net/qq_44807176/article/details/113728876
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。