我们快速的使用Dockerfile来基于ubuntu创建一个定制化的镜像:nginx
[Python]
纯文本查看
复制代码
1 2 3 4 5 | #创建Dockerfile专用目录:~$ mkdir ./docker/images/nginx -p:~$ cd docker/images/nginx/#创建Dockerfile文件:~/docker/images/nginx$ vim Dockerfile |
dockerfile内容:
[Python]
纯文本查看
复制代码
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 | # 构建一个基于ubuntu的docker定制镜像# 基础镜像FROM ubuntu# 镜像作者MAINTAINER panda [email]kstwoak47@163.com[/email]# 执行命令RUN mkdir helloRUN mkdir worldRUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.listRUN sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.listRUN apt-get update RUN apt-get install nginx -y# 对外端口EXPOSE 80 |
进行构建操作:
[Python]
纯文本查看
复制代码
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 | #构建镜像:~/docker/images/nginx$ docker build -t ubuntu-nginx:v0.1 .#查看新生成镜像:~/docker/images/nginx$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEubuntu-nginx v0.1 a853de1b8be4 9 seconds ago 208MBnginx latest e548f1a579cf 6 days ago 109MBubuntu latest 0458a4468cbc 4 weeks ago 112MB#查看构建历史:~/docker/images/nginx$ docker history a853de1b8be4IMAGE CREATED CREATED BY SIZE COMMENT#镜像 创建时间 依赖命令 大小 评论a853de1b8be4 41 seconds ago /bin/sh -c #(nop) EXPOSE 80 0B 925825b680fd 42 seconds ago /bin/sh -c apt-get install nginx -y 56.5MB 4c57d6c99603 About a minute ago /bin/sh -c apt-get update 40MB b6d030a0d123 About a minute ago /bin/sh -c sed -i's/security.ubuntu.com/mir… 2.77kB 3357bf8069ca About a minute ago /bin/sh -c sed -i's/archive.ubuntu.com/mirr… 2.77kB 7bfb90c1e20d About a minute ago /bin/sh -c mkdir world 0B 972d6ab76d01 About a minute ago /bin/sh -c mkdir hello 0B a76394bfad01 About a minute ago /bin/sh -c #(nop) MAINTAINER panda kstwoak4… 0B #注意:因为容器没有启动命令,所以肯定访问不了 |
Dockerfile构建过程: 从基础镜像1运行一个容器A
遇到一条Dockerfile指令,都对容器A做一次修改操作
执行完毕一条命令,提交生成一个新镜像2
再基于新的镜像2运行一个容器B
遇到一条Dockerfile指令,都对容器B做一次修改操作
执行完毕一条命令,提交生成一个新镜像3
…
**构建过程镜像介绍
构建过程中,创建了很多镜像,这些中间镜像,我们可以直接使用来启动容器,通过查看容器效果,从侧面能看到我们每次构建的效果。提供了镜像调试的能力
更多Python资讯可关注:itheimaGZ获取