Py学习  »  docker

在Docker中将文件从容器复制到本地

Lawrence • 3 年前 • 1188 次点击  

我想将文件从容器复制到本地。该文件是在执行python脚本后生成的,但由于 ENTRYPOINT ,容器在运行后立即退出,无法使用 docker cp 命令你知道怎么做吗 prevent 容器在成功复制文件之前退出?下面是我的Dockerfile:

FROM python:3.9-alpine3.12

WORKDIR /app

COPY . /app/

RUN pip install --no-cache-dir -r requirements.txt && \
    rm -f /var/cache/apk/*

ENTRYPOINT ["python3", "main.py"]

我使用以下命令运行图像: docker run -d -it --name test [image]

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/129733
 
1188 次点击  
文章 [ 2 ]  |  最新文章 3 年前
samuelcolt
Reply   •   1 楼
samuelcolt    3 年前

如果不需要在后台运行容器,那么可以从stdout复制文件

docker run -it [image] cat /app/example.json > out_example.json
Mikael Kjær
Reply   •   2 楼
Mikael Kjær    3 年前

如果输出文件存储在自己的目录中(例如 /app/output )你可以跑: docker run -d -it -v $PWD/output:/app/output/ --name test [image] 文件将在 output 当前目录的目录。

如果不是,则使用以下方法运行容器: docker run -d -it --name test [image]
然后使用 docker cp test:/app/example.json . 将其复制到当前目录。