我是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
答案 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" ]