我有一个控制台应用程序的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。如果输入和输出路径在应用程序中进行了硬编码,则安装不会出现任何问题。但这听起来像是作为args传递时,听起来像是我做错了,当应用程序开始读取args时,它看起来好像未正确安装。
我在这里做错了什么?也许是一个更好的问题:“这是装载音量并同时传递args的正确方法吗?”
答案 0 :(得分:1)
您将-v /:/root
作为参数传递给容器的ENTRYPOINT
。
要获得所需的行为,需要在传递任何参数之前挂载卷。
这样做应该可以:
docker run -v /:/root 9a6 "root/input" "root/Output/"