歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Dockerfile文件那些事(一)

Dockerfile是用來構建鏡像的,該文件中有這麼幾個指令:

FROM

MAINTAINER

RUN

EXPOSE

 

上面這四個指令以後咱們慢慢說他們的作用

 

還有幾個常用的指令:

CMD

ENTERYPOINT

ADD

COPY

VOLUME

WORKDIR

ENV

USER

 

這些命令就算我都說了也記不住,咱們邊學邊記憶.

 

先說下Dockerfile構建過程

1.從基礎鏡像運行一個容器

2.執行一條指令,對容器作出修改

3.執行類似docker commit的操作,提交一個新的鏡像層

4.再基於剛提交的鏡像運行一個新容器

5.執行Dockerfile中的下一跳指令,直至所有指令執行完畢.

 

 

有的時候樓主是挺醉的,為啥呢,每次想有點作為的時候,比如拯救世界啊,幫國家領導人尋找核彈頭啊,幫鄰居的小孩找皮球啊,都會有各種阻力在阻礙樓主前進.

 

 

root@syx-VB:/# mkdir -p dockerfile/df_test2/
root@syx-VB:~# cd dockerfile/df_test2/
root@syx-VB:~/dockerfile/df_test2# vim Dockerfile


文件的內容如下:

 

FROM ubuntu
MAINTAINER syx '[email protected]'
RUN apt-get update && apt-get install -y nginx
EXPOSE 80


先別管這些指令啥意思,你先猜猜

樓主為了簡單起見,用了最簡單的指令來組成一個Dockerfile.注意這個文件的名字必須叫Dockerfile.

 

root@syx-VB:~/dockerfile/df_test2# docker build -t="syx/df_test2" .


之後,經過漫長的等待,你想想吧,樓主一共就這麼幾行命令就執行了快一個小時,而且中間還在不停的出錯,醉了,日了狗了.可想而知如果指令挺多會怎樣了,樓主正在想辦法解決在構建Dockerfile的時候挺慢的問題,如果你有好的辦法請不吝賜教.謝謝!!

 

root@syx-VB:~/dockerfile/df_test2# docker build -t="syx/df_test2" .
root@syx-VB:~/dockerfile/df_test2# docker images


能看到我們自己構建的鏡像了.

 

是不是很神奇,在這裡你需要確保你的機器能夠上網,樓主搞不懂為啥在構建Dockerfile的時候是如此的緩慢,樓主在使用Dockerfile構建鏡像的時候是從http://archive.ubuntu.com/ubuntu這個網站上pull的內容,這個網站是國外的,需要翻牆或者通過一定的手段才能快速的pull東西.

Copyright © Linux教程網 All Rights Reserved