gpt4 book ai didi

docker - 无法在 Docker CLI 中挂载卷

转载 作者:行者123 更新时间:2023-12-02 18:10:50 24 4
gpt4 key购买 nike

我有以下 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,目录就在那里,但显然没有安装任何东西。我只想从容器访问我的代码。我怎样才能正确安装它?

最佳答案

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 中,这样您就可以运行镜像,而不必被迫单独复制应用程序代码。)

关于docker - 无法在 Docker CLI 中挂载卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53907465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com