同时传递参数和挂载卷?
Pass args and mount volume at the same time?
我有一个控制台应用程序的 docker 图像,这个应用程序有两个参数,它们是目录路径。现在,当我 运行 下面的命令用 args 启动容器并同时访问该卷时,我使用以下命令:
docker run 9a6 "root/input" "root/Output/" -v /:/root
它抛出以下错误:
Could not find a part of the path '/opt/application/root/Norms'.
其中 opt/application
是我的 workDirectory.I 如果输入和输出路径在应用程序内部进行硬编码,则挂载没有任何问题。但它听起来像当作为 args 传递时,听起来我做错了什么,当应用程序开始读取 args 时,它看起来不像没有正确安装。
我在这里做错了什么?或者可能是一个更好的问题:"Is this the right way to mount volume and pass the args at he same time?"
您正在将 -v /:/root
作为参数传递给容器的 ENTRYPOINT
。
为了获得您想要的行为,您需要在传递任何参数之前装载卷。
这样做应该可行:
docker run -v /:/root 9a6 "root/input" "root/Output/"
我有一个控制台应用程序的 docker 图像,这个应用程序有两个参数,它们是目录路径。现在,当我 运行 下面的命令用 args 启动容器并同时访问该卷时,我使用以下命令:
docker run 9a6 "root/input" "root/Output/" -v /:/root
它抛出以下错误:
Could not find a part of the path '/opt/application/root/Norms'.
其中 opt/application
是我的 workDirectory.I 如果输入和输出路径在应用程序内部进行硬编码,则挂载没有任何问题。但它听起来像当作为 args 传递时,听起来我做错了什么,当应用程序开始读取 args 时,它看起来不像没有正确安装。
我在这里做错了什么?或者可能是一个更好的问题:"Is this the right way to mount volume and pass the args at he same time?"
您正在将 -v /:/root
作为参数传递给容器的 ENTRYPOINT
。
为了获得您想要的行为,您需要在传递任何参数之前装载卷。
这样做应该可行:
docker run -v /:/root 9a6 "root/input" "root/Output/"