如何在 Windows 10 中執行 docker 映像?

如何在 Windows 10 中執行 docker 映像?

有人可以教我如何在 Windows 10 中執行 docker 映像嗎?請不要告訴我閱讀教程,我這樣問是有原因的。

我已經安裝了 Windows 版的 docker。所有教程都說“使用 docker Quickstar 終端”。嗯,那不存在。只有 docker 桌面。

我可以在任何終端機中執行“docker ps”,例如 Git bash 或 Windows 終端機(命令提示字元)。不過我想運行這個

docker run -it -p 4567:4567 -v 'pwd':/work udacity/controls_kit:latest

如果我在 Git bash 上執行此操作,則會收到以下錯誤:

the input device is not a TTY.  If you are using mintty, try prefixing the command with 'winpty'

如果我在命令提示字元下執行此操作,我會得到

docker: Error response from daemon: create 'pwd': "'pwd'" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path.
See 'docker run --help'.

在 Windows 10 中執行容器映像的正確方法是什麼?

答案1

很近!

您正在嘗試評估該pwd命令並將其結果用作 Docker 呼叫的一部分。完成了反引號符號(也稱為重音)。在美式鍵盤上Tab,您可以使用 旁邊的按鈕輸入它們1。目前您(錯誤)使用單引號,它用於引用常規字串。

理想情況下,您應該使用$(pwd)而不是`pwd`.它做同樣的事情,但嵌套時更容易預測,並且更難將其與其他東西混淆。

# should work:
winpty docker run -it -p 4567:4567 -v `pwd`:/work udacity/controls_kit:latest

# even better:
winpty docker run -it -p 4567:4567 -v $(pwd):/work udacity/controls_kit:latest

winpty由於使用預設配置在 Windows 上執行 Docker,因此您需要前綴。您可以在安裝過程中變更此行為。在 Windows 10 上更改它可能是一個好主意,因為改進的命令列沒有此功能旨在克服的限制。

相關內容