如何使用泊坞窗运行命令
问题描述:
下面是我Dockerfile内容通过JSON文件作为参数:如何使用泊坞窗运行命令
FROM python:2.7-slim
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
ADD . /app
RUN pip install numpy==1.12.0
CMD ["python", "t_1.py", "t_1.json"]
我想将这个文件(t_1.sjon)通过在运行时与码头工人运行命令的参数,以便CMD [“python”,“t_1.py”,“RUN TIME ARGUMENT”]。我尝试装入卷,但作为json文件是独立的,我想作为参数失败。
请帮忙。
答
你应该使用什么是ENTRYPOINT
FROM python:2.7-slim
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
ADD . /app
RUN pip install numpy==1.12.0
ENTRYPOINT ["python", "t_1.py"]
现在,当你运行的泊坞窗命令
docker run -v ./t_1.json:/data/t_1.json <dockerimage> /data/t_1.json
这将使它相当于python t_1.py /data/t_1.json
+0
非常感谢您的帮助! :) – manzoor
答
您可以使用bash运行任何命令码头集装箱内。
docker run <your_image> bash -c "python /app/t_1.json"
我假设json文件在你有dockerfile的目录中。所以它被复制到/app
的容器中,可以使用容器内的bash命令运行。
是否将“t_1.json”存储在Docker镜像中,或者您想将文件本身(而不仅仅是文件名)作为运行时参数传递? – user3758302
@ user3758302:我想通过json文件(文件内容可能会有所不同)本身作为运行时参数虽然文件名相同,但cmd应该是python t_1.py t_1.json – manzoor
关键是安装一个卷或“文件”体积(即码头运行-v ./t_1.json:/data/t_1.json正如在Tarun Lalwani的回答中所述)。如果eveything保持不变并且只有文件内容发生更改,则入口点不会造成伤害,但不是强制性的。 –
user3758302