建立docker在哪里`RUN mkdir`创建一个目录 - 在运行容器时找不到它

时间:2018-04-03 09:54:46

标签: docker

我是docker的新手,我正在使用docker build -t control .构建下面的docker文件它成功构建,没有任何错误,特别是它表示它创建了control目录。然后我尝试使用docker run control运行图片,但是它出现错误,说它无法找到control/control_file/job.py

docker在哪里创建control目录。它是在一个我看不见的容器中吗?因为我无法看到它在任何地方创建,我不确定如何调试?

FROM python:2
RUN pip install requests\
&& pip install pymongo

RUN mkdir control

COPY control_file/ /control

ENV PYTHONPATH="/control:$PYTHONPATH"
RUN export PYTHONPATH=/control:$PYTHONPATH

CMD ["python","/control/job.py"]

这是目录结构:

├── control_file
│   ├── insert_to_container.py
│   ├── ip_path
│   ├── job.py
│   └── read_info.py
└── Dockerfile

2 个答案:

答案 0 :(得分:1)

job.py现在位于Docker版本中的/control

使用COPY命令将control_file/中的所有内容复制到新目录/control

将最后一行更改为:

CMD ["python", "control/job.py"]

答案 1 :(得分:0)

你的docker文件有错误,请在下面找到正确的一个和build_file目录应该在build目录中(你在这里构建docker image).... job.py应该有执行权限

FROM python:2
RUN pip install requests\
&& pip install pymongo
RUN mkdir -p /control/control_file
COPY control_file/ /control/control_file
CMD [ "python" , "/control/control_file/job.py" ]