1. 程式人生 > >Dockerfile編寫

Dockerfile編寫

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學習參考地址:
https://docs.docker.com/reference/builder/
https://docs.docker.com/articles/dockerfile_best-practices/

Dockerfile編寫