一 了解Docker 镜像
1.1 Docker 镜像是什么
Docker 镜像不仅提供容器运行时所需文件,还包含了一些配置参数。镜像内容在构建之后也不会被改变,只有有了镜像才能启动容器
1.1 自定义镜像有哪些好处
Dockerfile 可以快速帮助我们构建自己的定制镜像
1.3 如何构建自己的Centos
第一步
通过编写 Dockerfile 文件来制作Centos 镜像,添加 vim、net-tools文件
第二步
新建一个dockerfile文件,在这个文件下新建mydockerfile-centos
dockerfile
cd /home mkdir dockerfile
mydockerfile-centos
FROM centos:centos7 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
第三步
查看编写的文件,编译刚刚写好的centos7
docker build -f mydockerfile-centos -t mycentos:0.1 .
第四步
等待编译完成,完成后运行镜像
docker run -it mycentos:0.1
vim 文件
vim test pwd
查看ifconfig
查看历史操作
docker history 2c2feb50d12c
二 RUN、CMD和ENTRYPOINT
2.1 RUN命令与CMD命令的区别
· RUN命令
RUN命令在Image 文件的构建阶段执行,执行结果会打包进入image文件,
· CMD命令
CMD命令则是在容器启动后执行
一个Dockerfile可以包含多个RUN命令,但只能由一个CMD命令
2.2 CMD和ENTRYPOINT命令的区别
· CMD
运行的命令只有最后一个会生效
· ENRTYPOINT
运行的命令可以追加CMD命令
CMD命令
FROM centos:centos7 CMD ["ls", "-a"]
编译并执行文件
docker build -f dockerfile-cmd-test -t cmdtest . docker run f74776bf8b3c
追加命令查看全部文件目录
docker run f74776bf8b3c -l
再次执行查看全部文件目录命令
docker run f74776bf8b3c ls -al
ENTRYPOINT命令
dockerfile 目录下新建文件测试ENTRYPOINT,写入已下内容
cd /home/dockerfile vim dockerfile-entrypoint FROM centos:centos7 ENTRYPOINT ["ls", "-a"]
编译文件并执行容器
docker build -f dockerfile-entrypoint docker run 29891c9ff3c9
追加命令
docker run 29891c9ff3c9 -l
原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/4155.html