“码头工人实战篇“python的docker-docker镜像的创建使用dockerfile (3

  ,

祝辞的在原创文章,欢迎转载。转载请注明:转载自它人故事会,谢谢!
在祝辞原文链接地址:“码头工人实战篇“python的docker-docker镜像的创建使用dockerfile (33)


从上篇码头工人提交学习可以了解到,镜像的定制其实每一层添加的配置和文件,如果把每一层的修改配置,修改文件,都写入脚本,用这个脚本构建定制镜像,无法重复的问题,镜像构建透明性的问题,体积的问题都会解决。这个脚本就是dockerfile。


dockerfile

<李>

什么是dockerfile

一个文本文件,其内包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。

<李>

了解从

从指定基础镜像,基础镜像是必须指定的。而从就是指定基础镜像,因此一个dockerfile中从是必备的指令,并且必须是第一条指令。在dockerhub上有很多高质量的码头工人镜像,有可以直接拿来使用的基础镜像:nginx, tomcat、java、python、php, mongodb。搜寻最符合使用的的一个基础镜像。

<李>

了解运行

运行执行命令是用来执行命令行命令的。由于命令行的强大能力,运行指令在定制镜像时最常用的指令之一。

壳格式:RUN<命令祝辞,就像直接在命令行中输入的命令一样   exec格式:运行(“可执行文件”,“参数1”、“参数2”),这更像是函数调用中的格式

<李>

不建议的写成下面这种Dockerfile
在之前说过Dockerfile每个指令都会创建一个层,下面这种写法就是创建了7层的镜像,这样做就完全是没有意义的,很多运行不需要的东西都被装到这个镜像里面去了,编译环境更新软件包,产生非常臃肿层非常多的镜像,不仅仅增加了构建部署的时间,也很容易出错,也是初学码头工人容易犯的错误,之前我也犯过。镜像的层数是有限制的,最大层不能超过127层。镜像是多层存储的,在加入一层就是,之前的层不会被修改。

正确的方式,一定要做到每一层是需要的东西,任何无关的东西都要被清理掉。这也是制作镜像容易犯的错误,之前安装的文件没有清理。

实战编写Dockerfile

<李>

创建目录,存放Dockerfile

mkdir newNginx   cd newNginx

<李>

编写Dockerfile

nginx   运行回声”& lt; h2>欢迎来到idig8.com研究docker“比;/usr/share/nginx/html/index.html

<李>

构建Dockerfile

码头工人构建- t nginx: v2。   码头工人图片

<李>

推送码头工人中心推送
在登录码头工人中心

#先配置dns 8.8.8.8   vi/etc/resolv.conf      码头工人登录

设置仓库地址,登录hub.docker.com

更改名称

码头工人标记nginx: v2 zhugeaming/nginx: v2

完成推送

码头工人推zhugeaming/nginx: v2

查看结果

PS:其实在开发的时候,多任务的时候,只需要一个python3和mitmproxy的镜像环境,已经做好了,到时候直接用码头工人推zhugeaming/python3-appium,其实想学习码头工人其他内容可以看我之前写的其他文章。



“码头工人实战篇“python的docker-docker镜像的创建使用dockerfile (3