有些 docker container 一執行後馬上就自動關閉,這是為什麼?
因為 docker 容器必須要有一個前台處理程序,如果沒有任何處理程序在執行,就會被認為是空閒,就自動被關閉了。
平時我們在背景執行容器的語法如下: (使用 ubuntu:22.04 image, 指定容器名稱為 ubuntu)
但是我們可以加上 tail -f /dev/null 指令,tail -f 的意思是顯示檔案最後的部分,並持續更新。而 /dev/null 則是代表一個特殊的空檔案,若將內容寫入此檔案會被自動丟棄。所以整個指令的用途就是持續追蹤空檔案,沒有任何作用,但是可以讓 docker 以最低資源持續存在。
整個指令如下:
因為 docker 容器必須要有一個前台處理程序,如果沒有任何處理程序在執行,就會被認為是空閒,就自動被關閉了。
平時我們在背景執行容器的語法如下: (使用 ubuntu:22.04 image, 指定容器名稱為 ubuntu)
docker run -d --name ubuntu ubuntu:22.04
但是我們可以加上 tail -f /dev/null 指令,tail -f 的意思是顯示檔案最後的部分,並持續更新。而 /dev/null 則是代表一個特殊的空檔案,若將內容寫入此檔案會被自動丟棄。所以整個指令的用途就是持續追蹤空檔案,沒有任何作用,但是可以讓 docker 以最低資源持續存在。
整個指令如下:
docker run -d --name ubuntu ubuntu:22.04 tail -f /dev/null
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com