如何使用docker run命令将json文件作为参数传递

时间:2017-08-10 11:04:22

标签: python file docker

以下是我的Dockerfile内容:

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"]

我想在运行时使用docker run命令将此文件(t_1.sjon)作为参数传递,以便CMD [“python”,“t_1.py”,“RUN TIME ARGUMENT”]。我尝试装载卷但由于json文件是独立的而失败,我想作为参数。

请帮忙。

2 个答案:

答案 0 :(得分:3)

您应该使用的是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命令

docker run -v ./t_1.json:/data/t_1.json <dockerimage> /data/t_1.json

这将使其等同于python t_1.py /data/t_1.json

答案 1 :(得分:0)

您可以使用bash在docker容器中运行任何命令。

docker run <your_image> bash -c "python /app/t_1.json"

我假设json文件位于您拥有dockerfile的目录中。所以它被复制到/app的容器内,可以使用容器内的bash命令运行。