活用 ENTRYPOINT
ENTRYPOINT 的設計,可以保證 container 啟動執行指令的時候,都一定會包含 ENTRYPOINT 設定。因此可以藉由這個特性讓 image 用起來更靈活。
ENTRYPOINT 的設計,可以保證 container 啟動執行指令的時候,都一定會包含 ENTRYPOINT 設定。因此可以藉由這個特性讓 image 用起來更靈活。
在寫 Dockerfile 或使用 docker run
時,我們使用 CMD
來執行指令。Docker 還設計了另一個類似的設定叫 ENTRYPOINT
。活用這兩個設定將能讓 Docker image 使用更加靈活。
Docker Network 可以調整非常多設定,而在使用 Network 連結 container 使用的是預設的 bridge 模式,這個模式符合大多數開發階段的情境,所以通常不會調整它。但如果想要將 Docker 活用在更多地方的話,那就勢必要了解 Docker Network 是如何配置的。
今天開始,會說明 Docker 更多的細節。未來如果需要維運 container 或用到 container 調度系統(如 K8S),則接下來十天的內容,將有可能幫上一點忙。
不久前,曾聽到一個神奇的需求:希望在無網路的環境下使用 Docker。這種需求我還是第一次聽到。
若要寫開源的 Docker image,使用 Docker Hub 或 GitHub 分享 image 會非常方便。而今天要來聊聊,如果 image 只打算在企業內部共享的話,該如何做?
寫好 Dockerfile,確實完成了 IaC,但拿到 Dockerfile 才開始 build image,一來花時間,二來這樣就會有其他變因(如 base image 更新),因此直接分享 image 會是更好的方法。
在說明 Multi-stage Build 之前,先來簡單了解持續整合(Continuous Integration,以下簡稱 CI)的 Build 與 DevOps 的 Pipeline。
今天將會應用之前 build image 的技巧,來為以下框架的 hello world 寫 Dockerfile。
最佳化 Dockerfile 還有很多方向,以精簡 image 做為結尾,有興趣可以參考文末的參考資料連結。