无法在Docker CLI中装载卷

时间:2018-12-23 22:01:07

标签: docker

我有以下Dockerfile:

FROM continuumio/anaconda3
VOLUME /code

我使用以下命令行执行它:

docker run -it 626058fb269a --mount src="$(pwd)",target=/code,type=bind /bin/bash

但是我遇到此错误:

[FATAL tini (8)] exec --mount failed: No such file or directory

很明显,我缺少了一些东西。如果运行docker run -it 626058fb269a / bin / bash,则目录已存在,但显然未安装任何目录。我只想从容器访问我的代码。如何正确安装呢?

1 个答案:

答案 0 :(得分:3)

docker run会将图像名称之后的所有内容解释为命令行的“命令”部分(作为命令行参数传递给入口点(如果存在),或者直接运行),因此您的命令是

docker run \
  -it \                    # Container launch options
  626058fb269a \           # Image name
  \                        # Command and its arguments follow
  --mount src="$(pwd)",target=/code,type=bind /bin/bash

您无需在Dockerfile中声明VOLUME即可将命名卷或主机目录挂载到容器中,因此自定义映像不会为您添加任何内容。我可能会建议类似的东西

docker run \
  --rm -it \               # Container launch options
  --mount src="$(pwd)",target=/code,type=bind \
  continuumio/anaconda3 \  # Image name
  /bin/bash                # Command and its arguments

(最好还是在没有Docker的情况下在本地开发和测试应用程序,然后将其复制到Dockerfile中,以便您可以运行该映像,而不必强行在应用程序代码周围单独复制。)

相关问题