Dockerfile快速入门

我们快速的使用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 hello
RUN mkdir world
RUN sed - i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' / etc / apt / sources. list
RUN sed - i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' / etc / apt / sources. list
RUN 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 images
REPOSITORY    TAG     IMAGE ID      CREATED        SIZE
ubuntu - nginx  v0. 1    a853de1b8be4  9 seconds ago  208MB
nginx         latest  e548f1a579cf  6 days ago     109MB
ubuntu        latest  0458a4468cbc  4 weeks ago    112MB
#查看构建历史
:~ / docker / images / nginx$ docker history a853de1b8be4
IMAGE         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
​        …
**构建过程镜像介绍
​       构建过程中,创建了很多镜像,这些中间镜像,我们可以直接使用来启动容器,通过查看容器效果,从侧面能看到我们每次构建的效果。提供了镜像调试的能力
更多技术资讯可关注:gzitcast

猜你喜欢

转载自www.cnblogs.com/heimaguangzhou/p/11769454.html