我有一些文件,想要将它们移到一个 Docker 容器中。
但最终 Docker 找不到文件。
本地机器上带有文件的文件夹位于/home/katalonne/flask4。
如果有关系,这是文件结构: Dockerfile:
我收到了一个错误提示,无法找到我的hello.py文件:
本地机器上带有文件的文件夹位于/home/katalonne/flask4。
如果有关系,这是文件结构: Dockerfile:
#
# First Flask App Dockerfile
#
#
# Pull base image.
FROM centos:7.0.1406
# Build commands
RUN yum install -y python-setuptools mysql-connector mysql-devel gcc python-devel
RUN easy_install pip
RUN mkdir /opt/flask4
WORKDIR /opt/flask4
ADD requirements.txt /opt/flask4
RUN pip install -r requirements.txt
ADD . /opt/flask4
# Define deafult command.
CMD ["python","hello.py"]
# Expose ports.
EXPOSE 5000
所以我用这个命令构建了图像:
docker build -t flask4 .
我通过使用卷运行了容器:
docker run -d -p 5000:5000 -v /home/Katalonne/flask4:/opt/flask4 --name web flask4
当我想在容器上运行文件时:
docker logs -f web
我收到了一个错误提示,无法找到我的hello.py文件:
python: can't open file 'hello.py': [Errno 2] No such file or directory
我的问题出在哪里?
P.S.:我对Docker和Linux有一些陌生。
docker rm web
命令来删除容器。使用docker rmi flask4
命令来删除镜像。 - CtheGoodADD . .
这一行添加到dockerfile中CMD
的上方,运行了docker build .
,它创建了一个新的镜像,您使用docker run -d -p 5000:5000 -v /home/Katalonne/flask4:/opt/flask4 --name web flask4
基于该镜像创建了一个新的容器,并且仍然遇到了相同的错误?从您最后的评论中,我想确保我们在同一页上...我在本地进行了测试,它对我来说很好用。 - CtheGoodCMD
上面加入了ADD . .
,然后执行了以下命令:docker build -t flask4 .
,最后运行了以下命令:docker run -d -p 5000:5000 -v /home/Katalonne/flask4:/opt/flask4 --name web flask4
| 嘿,你有 Skype 或其他聊天工具吗?我想和你聊一下 Docker 的事情。 - Katallonedocker run -d -p 5000:5000 -v /home/Katalonne/flask4:/opt/flask4 --name web flask bash
命令,它会让你进入容器。然后,运行ls
命令和python hello.py
。结果是什么?我没有Skype。 - CtheGood