内容简介:从上篇docker commit学习可以了解到,镜像的定制其实每一层添加的配置和文件,如果把每一层的修改配置,修改文件,都写入脚本,用这个脚本构建定制镜像,无法重复的问题,镜像构建透明性的问题,体积的问题都会解决。这个脚本就是Dockerfile。
从上篇docker commit学习可以了解到,镜像的定制其实每一层添加的配置和文件,如果把每一层的修改配置,修改文件,都写入脚本,用这个脚本构建定制镜像,无法重复的问题,镜像构建透明性的问题,体积的问题都会解决。这个脚本就是Dockerfile。
Dockerfile
- 什么是dockerfile
一个文本文件,其内包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
- 了解FROM
FROM指定基础镜像,基础镜像是必须指定的。而FROM就是指定基础镜像,因此一个Dockerfile中From是必备的指令,并且必须是第一条指令。在dockerhub上有很多高质量的 docker 镜像,有可以直接拿来使用的基础镜像:nginx,tomcat,java,python,php,mongodb。搜寻最符合使用的的一个基础镜像。
- 了解RUN
RUN执行命令是用来执行命令行命令的。由于命令行的强大能力,RUN指令在定制镜像时最常用的指令之一。
shell 格式: RUN<命令>,就像直接在命令行中输入的命令一样 exec 格式: RUN["可执行文件","参数1","参数2"],这更像是函数调用中的格式
-
不建议的写成下面这种Dockerfile
> 之前说过Dockerfile每个指令都会创建一个层,下面这种写法就是创建了7层的镜像,这样做就完全是没有意义的,很多运行不需要的东西都被装到这个镜像里面去了,编译环境更新软件包,产生非常臃肿层非常多的镜像,不仅仅增加了构建部署的时间,也很容易出错,也是初学docker容易犯的错误,之前我也犯过。镜像的层数是有限制的,最大层不能超过127层。镜像是多层存储的,在加入一层就是,之前的层不会被修改。
正确的方式。一定要做到每一层是需要的东西,任何无关的东西都要被清理掉。这也是制作镜像容易犯的错误,之前安装的文件没有清理。
实战编写Dockerfile
- 创建目录,存放Dockerfile
mkdir newNginx cd newNginx
- 编写 Dockerfile
From nginx RUN echo '<h1>welcome to idig8.com study docker</h1>' > /usr/share/nginx/html/index.html
- 构建Dockerfile
docker build -t nginx:v2 . docker images
-
推送docker hub推送
>登录docker hub
#先配置dns 8.8.8.8 vi /etc/resolv.conf docker login
设置仓库地址,登录hub.docker.com
更改名称
docker tag nginx:v2 zhugeaming/nginx:v2
完成推送
docker push zhugeaming/nginx:v2
查看结果
PS:其实在开发的时候,多任务的时候,只需要一个 python 3和mitmproxy的镜像环境,已经做好了,到时候直接用docker push zhugeaming/python3-appium,其实想学习docker其他内容可以看我之前写的其他文章。
>>原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
>>原文链接地址:上一篇:已是最新文章
以上所述就是小编给大家介绍的《「docker实战篇」python的docker-docker镜像的创建使用dockerfile(33)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 「docker实战篇」python的docker-docker镜像的创建使用docker commit命令(32)
- KVM镜像制作及挂载镜像文件
- 查看Docker镜像仓库中镜像的所有标签
- Vagrant 使用国内镜像安装插件和 box 镜像
- 不要轻易使用 Alpine 镜像来构建 Docker 镜像,有坑!
- Harbor 1.7 发布,在线 GC、镜像历史、镜像复制
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Sprint
Jake Knapp、John Zeratsky、Braden Kowitz / Simon & Schuster / 2016-3-8 / GBP 14.60
媒体推荐 “Every business leader I know worries about the same thing: Are we moving fast enough? The genius of Jake Knapp’s Sprint is its step-by-step breakdown of what it takes to solve big problems an......一起来看看 《Sprint》 这本书的介绍吧!