[Docker] 在建立 Docker 映像檔時,排除特定檔案

[Docker] 在建立 Docker 映像檔時,排除特定檔案

最近在把 Machine Learning 的程式,

用 docker build 包成 Docker 映像檔 (image),遇到一個問題~

那就是我把訓練資料與訓練好的模型 (model),都放在同一個目錄下,

在建立 Docker image 時,這些訓練資料都會被包進去,

但其實我只需要訓練過的模型…

 

查了一下,原來 Docker 有很類似 git 的 .gitignore 的東西,

名字也很像,叫 .dockerignore,使用的語法也類似~

 

舉例來說,我想忽略掉 features 目錄下所有的檔案,以及我所有的 log 檔案,

同時,訓練好的模型裡面,tree 和 forest 類型的效果不佳,

所以我也想排除,於是我的 .dockerignore 的內容如下:

.dockerignore
features/*
log/*
log*.txt
models/*tree*
models/*forest*

 

如上,我把 .dockerignore 自己也寫在 .dockerignore 裡面,

這樣這個檔案本身也不會出現在 docker image 裡面了~

其他設定排除的檔案也都沒有出現,不但建立映像檔變快,

建立出來的映像檔也變小囉~^^

 

參考資料:Docker Tip #19: How to Ignore Files From Your Docker Images

(本頁面已被瀏覽過 12 次)

發表迴響

你的電子郵件位址並不會被公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料