Samba
帶有 Samba 的 Docker 容器退出而沒有任何消息
我們有一個執行 CentOS 的伺服器,在該伺服器上,Docker 容器中有幾個服務可以將它們與主機更改分開。
上週五,我們在 CentOS 上進行了更新,從那時起,我們的一項服務確實啟動並立即退出。其他 15+ 服務都很好。
我複製了容器設置,更改了容器名稱並重建時遇到了同樣的問題:容器啟動然後退出,沒有任何消息。
該容器源自David Personette 的 samba 容器。現在退出但未使用的實際命令是:
exec ionice -c 3 smbd -FS
我應該降級 docker 會有副作用嗎?我還能做些什麼來讓它再次執行嗎?我們選擇容器從作業系統中抽像出來,這個抽像是不是沒有想像中那麼好?
除非您提高調試級別,否則容器將退出而沒有任何註釋。您可以使用類似
--debuglevel=4
.一旦你這樣做了,重建並重新啟動容器,你最終會得到一些東西,比如:
Server exit (EOF on stdin)
這指向解決方案,將
smbd
呼叫更改為:exec ionice -c 3 smbd -FS < /dev/null
並且您的容器不應再直接退出。
我不確定是什麼導致了這種向後不兼容的更改,也不確定為什麼沒有針對現有的 dockerhub 條目進行測試。
在升級到 1.11 時,我的兩個容器也壞了。在降級到 1.10.3 時,遇到了可怕的
Cannot stop container .... Container does not exist: container destroyed
錯誤。我不得不停止 docker,清除所有歷史記錄,所以我不能真正推薦它。