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

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

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