【问题标题】:docker run syntax different between windows and macwindows和mac之间的docker运行语法不同
【发布时间】:2019-08-02 07:02:44
【问题描述】:

我在MacOS 中运行了以下命令,将当前目录挂载到容器的src 目录。我将如何在windows 10 中做到这一点。

docker run -it --rm --mount type=bind,source="$(pwd)",target=/src ucd-fff-connector bash -c 'cd src; python main.py;'

例如,我知道我必须将"$(pwd)" 更改为"%cd%"。我没有要测试的Windows计算机。我是否还需要将单引号' 切换为双引号"

如果有一个可以在不同平台上运行的版本也不错,例如:command promptterminalpowershell

【问题讨论】:

标签: docker


【解决方案1】:

在 Windows (PowerShell) 中挂载当前文件夹:

docker run --rm --workdir /code -v "$(get-location):/code" "trzeci/emscripten:sdk-tag-1.38.32-64bit" ls

相当于linux/mac:

docker run --rm --workdir /code -v "$PWD":/code "trzeci/emscripten:sdk-tag-1.38.32-64bit" ls

【讨论】:

    【解决方案2】:

    您现在可能不需要担心这一点,因为 Docker 不支持原生 Windows 操作系统。

    为了在 Windows 上安装 Docker,您需要安装 Docker 工具箱,该工具箱使用 VirtualBox 来启动一个充当 docker 机器的 VM,并且该工具箱会在启动时为您提供 Unix 终端,这样就可以了有点简单,因为它能够将几乎所有 Linux 命令转换为 Windows。

    【讨论】:

    • Windows 10 正在被 Docker 支持。刚才在 Windows 计算机上运行和测试的所有内容!这只是我担心的语法差异
    • 好吧,我的错,我看到他们现在也发布了一个与 Windows 兼容的 Docker。所以这取决于你安装的 Docker 版本。我的回答仅适用于您已安装 Docker Toolbox for Windows。如果您已经安装了 Docker for Windows,那么您需要使用与受尊重的命令行(Powershell/命令提示符)兼容的命令。
    • winpty docker run -it --rm --mount type=bind,source="%cd%",target=/src ucd-fff-connector bash -c "cd src; python main.py;" 工作。需要双引号。 %cd% 是必需的,交互式 shell 还需要前缀 winpty
    猜你喜欢
    • 1970-01-01
    • 2020-03-18
    • 2017-07-21
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 2013-08-10
    • 2015-09-15
    相关资源
    最近更新 更多