自定义镜像mycentos
1.案例1自定义mycentos
(1)在宿主机根目录进入 mydocker 创建文件Dockerfile2
输入vim内容
FROM centos
MAINTAINER seak<274882401&#64;qq.com>ENV MYPATH /usr/local
RUN yum -y install vim
RUN yum -y install net-toolsEXPOSE 80CMD echo $MYPATH
CMD echo "success-----------------ok"
CMD /bin/bash
(2).构建
指定对应的目录创建centos1.3的容器
docker build -f /root/mydocker/Dockerfile2 -t mycentos:1.3 .
最后可以看见创建成功中间有红色的警告可以忽略
可以看到我们dockerfile脚本创建的mycentos镜像比原来的centos大一些&#xff0c;那是应为脚本里面安装了vim 和net-tools工具
(3)查看镜像历史变更
2.案例2
&#xff08;1&#xff09;CMD命令
ls -l命令会将tomcat的启动命令替换掉&#xff0c;所以tomcat会是没有启动的状态
tomcat源文件的最后一行命令是启动命令&#xff08;可以vim编辑查看&#xff09;
&#xff08;2&#xff09;ENTRYPOINT命令
创建一个Dockerfile3文件和Dockerfile4文件
Vim中Dockerfile3为CMD命令&#xff0c;Dockerfile4为ENTRYPOINY
使用CMD和ENTRYPOINT分别构建mydocke3&#xff0c;mydocker4
分别运行他们&#xff0c;都可以跑
当我们想要看请求头加参数时
vim文件&#xff08;Dockerfile3&#xff09;为cmd的bdcentos3会进行覆盖所以无法展示出头信息
vim文件&#xff08;Dockerfile4&#xff09;为ENTRYPOINT,则就会自动追加参数访问成功
3.案例3
创建一个Dockerfile5文件&#xff0c;Dockerfile5为ENTRYPOINY&#xff0c;并使用ONBUILD
vim文件内容&#xff1a;
FROM centos
RUN yum install -y curl
ENTRYPOINT ["curl", "-s", "http://www.baidu.com"]
ONBUILD RUN echo "father onbuild -----8868"
cp Dockerfile5 变为Dockerfile6&#xff0c;并将vim内容修改为
#去继承onbuild父类里面的构建方法了
FROM onbuild1
RUN yum install -y curl
ENTRYPOINT ["curl", "-s", "http://www.baidu.com"]
进行构建Dockerfile6&#xff0c;会触发构建器trigger&#xff08;继承父类onbuild里面的方式&#xff09;
4.案例4的&#xff08;自己做一个tomcat9&#xff09;