如何解决Docker卷在本地系统中不生成文件
我是Docker卷的新手,并尽我所能在docker中处理文件并将其保存在本地目录中以将其同步到AWS S3。
这是我的--volume
的docker-run命令,它使用本地目录路径将其附加到容器。当我在本地系统(MacOS)上运行命令时。它在本地目录(created_file.txt
)中创建文件
docker run -v /*/test_image:/src -t test python3 test_script.py --pick_path=/src/image_lenna.jpeg
这是与我的EC2实例相同的docker-run命令
docker run -v /home/ubuntu/test_file/test_image:/src -t test python3 test_script.py --pick_path=/src/image_lenna.jpeg
本地系统中的输出:
远程系统中的输出:
Dockerfile的内容
FROM nginx
RUN apt-get update && apt-get install --no-install-recommends --no-install-suggests -y curl
RUN apt-get install unzip
RUN apt-get -y install python3
RUN apt-get -y install python3-pip
USER root
RUN ["apt-get","install","-y","libsm6","libxext6","libxrender-dev"]
WORKDIR .
COPY requirements.txt .
RUN pip3 install -r requirements.txt
COPY test_script.py .
RUN echo "hello world"
我用来生成docker文件的命令是:
docker build -t test .
.
是指我的Dockerfile
所在的文件夹
我不明白为什么无法在EC2实例上创建文件。我想念什么吗?
解决方法
这是一个愚蠢的错误。 python脚本中的写入路径也应该是docker volume提到的路径。
docker run -v /home/ubuntu/test_file/test_image:/src -t test python3 test_script.py --pick_path=/src/image_lenna.jpeg
此处,本地路径附加到名为docker volume
的{{1}}上。因此,python脚本应写入src
文件夹。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。