Dockerfile 語法 ENTRYPOINT

ENTRYPOINT 語法是 container執行後,進入container第一個執行的指令,寫法如下範例等等解釋指令。

ENTRYPOINT ["tail", "-f", "/dev/null"]

Container 跑起來以後,如果Dockerfile 內撰寫的內容,是短暫的任務,例如 回傳 hello world 而已,container 跑起來,會顯示hello world 後 container 就會停止了。

可以看到Container 狀態變成 Exited ,但是沒有刪除,只是沒有執行而已。

因為它沒有執行,所以你不能進入到容器裡面,例如像exec指令我們將無法進入容器內。

docker exec {container名稱}

我們就算再使用 start 指令,還是會執行後,容器會馬上停止。

可以使用 tail -f /dev/null 指令讓container 執行後不會馬上關閉,保持開啟裝態。

我個人認為比較好debug 使用,所以才用這個命令

基本上 ENTRYPOINT 就是在啟動以後想要執行的第一個指令。

ENTRYPOINT 這個語法是會被覆蓋的,如果前面寫過,後面再寫一次,只會執行最後面那個語法設定的指令。

除了 ENTRYPOINT 還有 CMD 類似的語法,我們在下一篇說明。

參考來源

發佈留言