如何通过 docker run 将本地文件作为参数传递?

Coc*_*ett 4 python docker dockerfile docker-entrypoint

我有一个像这样的 Dockerfile:

FROM python:3.6
RUN mkdir /code
COPY dist/python-0.1.0.tar.gz /code
WORKDIR /code
RUN pip install python-0.1.0.tar.gz
ENTRYPOINT ["post"]
Run Code Online (Sandbox Code Playgroud)

“post”命令可以正常运行我的代码,无需任何参数。我的问题是如何让 docker 容器在运行时排除本地文件,因为它可能会发生变化。

这是我运行脚本的命令,但说没有这样的文件或目录 data/output.xml

docker run container data/output.xml
Run Code Online (Sandbox Code Playgroud)

我也尝试过这个但没有运气

docker run -v data:/data containter /data/output.xml
Run Code Online (Sandbox Code Playgroud)

感谢您的任何帮助!

小智 6

对于docker卷,我认为你需要使用绝对地址。用法是:

$ docker run -tid --name <name_you_want> -v <host_absolute_path>:<path_inside_docker> <image_id> <cmd_such_as_bash>
Run Code Online (Sandbox Code Playgroud)