Windows Container 有時候無法成功運行

這篇文章記錄關於 Windows container 運行時會出現的問題。是一個典型的  ASP.NET 應用程式,在編寫 Dockerfile 建置出 image 過程沒有問題。但是在用 docker run 運行此 image 的時候,出現如下圖內容 2 行 錯誤訊息, (註: quesry 應是錯字,正確拼法是 query)

ERROR: Failed to stop or quesry status of service 'w3svc' error
failed to resize tty, using default size


且 container 在系統上無法建立,應用程式無法運行,
這樣的錯誤並不是每次都發生,有時候會發生錯誤,






運行環境:
Windows Server 2016 環境下, (10.0.14393)
Docker engine  版本 18.09.8


(1) 關於錯誤訊息,
“failed to resize tty, using default size ”

後來發現修改其 Dockerfile 內容中有關 COPY 指令的形式可以解決這部分。

原本是在 Dockerfile 用如下 COPY 形式
COPY ["<src>", "<dest>"]

改爲下列這種形式
COPY <src> <dest>
就不會有 “failed to resize tty ... ” 錯誤訊息。

(2) 關於錯誤訊息,
"ERROR: Failed to stop or quesry status of service 'w3svc' error"

目前爲止尚未確定。目前看到的問題可能是由於重複建立使用同一個 container 名字所導致,可以在運行時嘗試建立用不同的 container 名字,並且定期用 docker container prune 清理未在運行狀態的 container。



[參考資料]

https://docs.docker.com/engine/reference/builder/#copy

留言

這個網誌中的熱門文章

Docker 環境下的 Proxy 配置