构建码头工人,"运行 mkdir"在哪里创建一个目录 - 运行容器时找不到它



我是 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

job.py现在在您的 Docker 构建中处于/control状态。

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

将最后一行更改为:

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

您的 docker 文件有错误,请在下面找到正确的一个,control_file目录应该在构建目录中可用(您构建 docker 映像的位置)....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" ]

最新更新