最近看了一些Docker相關(guān)的知識,對制作dockerfile的流程有一些不明白的地方。假如要制作一個(gè)基于Ubuntu的包含Nginx、MySQL、PHP等服務(wù)的dockerfile,我現(xiàn)在的流程是:docker run一個(gè)基本的Ubuntu鏡像更新系統(tǒng)依賴包,如:apt-get update,在文本文檔記錄執(zhí)行的命令安裝Nginx,在文本文檔記錄安裝Nginx執(zhí)行的步驟....等于說是先把流程跑一遍,記錄下所有執(zhí)行的命令,然后再把這些步驟復(fù)制到dockerfile里。個(gè)人感覺這樣做是不對的,請問大家都是怎么做的??
2 回答

阿晨1998
TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊
通過參考docker hub上現(xiàn)成的dockerfile 再根據(jù)自己的需求修改,這樣的效率會更高一些,從頭寫dockerfile只能按照樓上的兄弟那樣操作了,我稱之為“錄像機(jī)”方式。

偶然的你
TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
很正確呀。假如你非常熟悉所有的流程,自然可以直接編寫Dockerfile。但這種事情基本不能絕對的保證,特別是Docker的基礎(chǔ)系統(tǒng)鏡像大多都非常精簡,一些軟件的依賴包都需要進(jìn)行下載安裝,所以自己通過容器實(shí)踐一次搭建的過程雖然有些耗時(shí),但相對來說反而要比空想寫Dockerfile要節(jié)約時(shí)間。
通常來說編寫Dockerfile是這樣一個(gè)流程:
通過容器預(yù)演安裝過程,記錄下搭建命令
對安裝命令進(jìn)行匯總、優(yōu)化,編寫Dockerfile
嘗試使用Dockerfile構(gòu)建鏡像,檢查是否存在問題
通過構(gòu)建的鏡像建立容器,確保其中的程序能夠正確使用
- 2 回答
- 0 關(guān)注
- 1233 瀏覽
添加回答
舉報(bào)
0/150
提交
取消