docker学习-基础篇6-docker容器数据卷dockerfile-案列

自定义镜像mycentos

1.案例1自定义mycentos

(1)在宿主机根目录进入 mydocker 创建文件Dockerfile2

输入vim内容

FROM centos
MAINTAINER   seak<[email protected]>

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)

发布了157 篇原创文章 · 获赞 3 · 访问量 4518

猜你喜欢

转载自blog.csdn.net/qq_38224014/article/details/105310851