如何将文件从Dockerfile CMD输出到本地文件目录

pbgvytdp  于 2023-03-29  发布在  Docker
关注(0)|答案(1)|浏览(244)

我正在尝试构建一个Docker映像,在一个可复制的环境中复制研究手稿。最终状态是有人可以下载映像(或使用Dockerfile构建),运行容器,复制的手稿(和相关的图形等)被保存到本地文件系统的指定位置,容器停止。
不应与容器发生相互作用。
完成这样的事情的公认方法是什么?我假设CMD命令在打开容器时执行某些操作是必要的,但我不知道如何将其移动到本地主机文件系统。是否可以使用docker run命令指定容器的输出文件应该放在哪里?

FROM ghcr.io/base/package:v1.3

# Mount local directory into container
ADD . /repo

RUN quarto render repo/manuscript/manuscript.qmd
v8wbuo2f

v8wbuo2f1#

虽然不知道应用程序是如何工作的,但它基本上可以归结为这些简单的步骤:
1.创建并构建docker文件
1.确保您正在运行的应用程序在Docker环境中工作
1.在启动Docker容器时,将主机上的本地文件夹挂载到容器内的文件夹。(通过使用-v参数实现
1.等待容器完成

  1. Profit:结果位于挂载文件夹中。
    例如,将路径/home/user/some_folder挂载到路径/app上的Nginx容器中可以通过使用-v参数来完成:
docker run -d -it --name devtest -v /home/user/some_folder:/app nginx:latest

这将把文件夹/home/user/some_folder绑定到路径/app上的容器中
要了解更多关于挂载的信息,我会参考文档:https://docs.docker.com/storage/bind-mounts/

相关问题