欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-03 11:34:20
...

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

 

自定义镜像mycentos

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

 

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

1.案例1自定义mycentos

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

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

 

输入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

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

(2).构建

 

 

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

指定对应的目录创建centos1.3的容器

docker build -f /root/mydocker/Dockerfile2 -t mycentos:1.3 .

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

最后可以看见创建成功中间有红色的警告可以忽略

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

可以看到我们dockerfile脚本创建的mycentos镜像比原来的centos大一些,那是应为脚本里面安装了vim 和net-tools工具

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

(3)查看镜像历史变更

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

 

2.案例2

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

(1)CMD命令

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

ls -l命令会将tomcat的启动命令替换掉,所以tomcat会是没有启动的状态

tomcat源文件的最后一行命令是启动命令(可以vim编辑查看)

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

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

 

 

(2)ENTRYPOINT命令

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

创建一个Dockerfile3文件和Dockerfile4文件

Vim中Dockerfile3为CMD命令,Dockerfile4为ENTRYPOINY

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

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

使用CMD和ENTRYPOINT分别构建mydocke3,mydocker4

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

分别运行他们,都可以跑

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

当我们想要看请求头加参数时

vim文件(Dockerfile3)为cmd的bdcentos3会进行覆盖所以无法展示出头信息

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

 

vim文件(Dockerfile4)为ENTRYPOINT,则就会自动追加参数访问成功

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

 

3.案例3

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

 

创建一个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里面的方式)

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

 

4.案例4的(自己做一个tomcat9)

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

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

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

 

相关标签: # docker学习