Dockerfile编写

本文介绍了两种使用Dockerfile构建镜像的方法,一种是逐步构建,另一种是对Dockerfile进行优化改进,同时展示了如何通过ENTRYPOINT指令直接在Dockerfile中定义容器启动时执行的命令。

Dockerfile两种方式对比:

1. 一步步的执行

#### (1) 编写Dockerfile文件
vim Dockerfile
FROM ubuntu:14.04
ENTRYPOINT ["/bin/echo"]
(2)通过Dockerfile文件进行构建镜像
[root@c720120 docker]# docker build .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM ubuntu:14.04
 ---> 8cef1fa16c77
Step 2/2 : ENTRYPOINT ["/bin/echo"]
 ---> Running in aaad472bad79
Removing intermediate container aaad472bad79
 ---> 8142eaef4d70
Successfully built 8142eaef4d70
(3)查看我们构建的镜像
[root@c720120 docker]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
<none>              <none>              8142eaef4d70        About a minute ago   223MB
(4)运行此容器测试一下
[root@c720120 docker]# docker run 814 Hi Docker !
Hi Docker !

注意:当容器执行完命令后,就会进入停止状态,这时如果我们想要运行该容器的话,执行以下命令:[root@c720120 docker]# docker run 814

2. 对DockerFile进行改进

(1)查看我们改变的内容
[root@c720120 docker]# cat Dockerfile 
FROM ubuntu:14.04
ENTRYPOINT ["/bin/echo“ , "Hi Docker !"]
(2)镜像构建
[root@c720120 docker]# docker build .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM ubuntu:14.04
 ---> 8cef1fa16c77
Step 2/2 : ENTRYPOINT ["/bin/echo" , "Hi Docker !"]
 ---> Running in 7d9577b1d2e1
Removing intermediate container 7d9577b1d2e1
 ---> 3b1ac59ac602
(3)运行容器
[root@c720120 docker]# docker run 3b1
Hi Docker !

从以上查看镜像时看到,镜像是没有标签的,如果要指定标签,按以下命令行的格式来做。

[root@c720120 docker]# docker build -t cookbook:hello .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM ubuntu:14.04
 ---> 8cef1fa16c77
Step 2/2 : ENTRYPOINT ["/bin/echo" , "Hi Docker !"]
 ---> Using cache
 ---> 3b1ac59ac602
Successfully built 3b1ac59ac602
Successfully tagged cookbook:hello

再次查看镜像:
Dockerfile编写

Dockerfile学习参考地址:
https://docs.docker.com/reference/builder/
https://docs.docker.com/articles/dockerfile_best-practices/

转载于:https://blog.51cto.com/aishangwei/2120807

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值