如何在 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

由于在 Windows 上使用默认配置运行 Docker,因此需要winpty前缀。您可以在安装过程中更改此行为。在 Windows 10 上更改它可能是一个好主意,因为改进的命令行没有此功能旨在克服的限制。

相关内容