docker学习-基础篇6-docker容器数据卷dockerfile-案列
程序员文章站
2022-06-03 11:34:20
...
自定义镜像mycentos
1.案例1自定义mycentos
(1)在宿主机根目录进入 mydocker 创建文件Dockerfile2
输入vim内容
FROM centos
MAINTAINER seak<aaa@qq.com>
ENV MYPATH /usr/local
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD 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大一些,那是应为脚本里面安装了vim 和net-tools工具
(3)查看镜像历史变更
2.案例2
(1)CMD命令
ls -l命令会将tomcat的启动命令替换掉,所以tomcat会是没有启动的状态
tomcat源文件的最后一行命令是启动命令(可以vim编辑查看)
(2)ENTRYPOINT命令
创建一个Dockerfile3文件和Dockerfile4文件
Vim中Dockerfile3为CMD命令,Dockerfile4为ENTRYPOINY
使用CMD和ENTRYPOINT分别构建mydocke3,mydocker4
分别运行他们,都可以跑
当我们想要看请求头加参数时
vim文件(Dockerfile3)为cmd的bdcentos3会进行覆盖所以无法展示出头信息
vim文件(Dockerfile4)为ENTRYPOINT,则就会自动追加参数访问成功
3.案例3
创建一个Dockerfile5文件,Dockerfile5为ENTRYPOINY,并使用ONBUILD
vim文件内容:
FROM centos
RUN yum install -y curl
ENTRYPOINT ["curl", "-s", "http://www.baidu.com"]
ONBUILD RUN echo "father onbuild -----8868"
cp Dockerfile5 变为Dockerfile6,并将vim内容修改为
#去继承onbuild父类里面的构建方法了
FROM onbuild1
RUN yum install -y curl
ENTRYPOINT ["curl", "-s", "http://www.baidu.com"]
进行构建Dockerfile6,会触发构建器trigger(继承父类onbuild里面的方式)
4.案例4的(自己做一个tomcat9)