我正在尝试构建一个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
1条答案
按热度按时间v8wbuo2f1#
虽然不知道应用程序是如何工作的,但它基本上可以归结为这些简单的步骤:
1.创建并构建docker文件
1.确保您正在运行的应用程序在Docker环境中工作
1.在启动Docker容器时,将主机上的本地文件夹挂载到容器内的文件夹。(通过使用
-v
参数实现1.等待容器完成
例如,将路径
/home/user/some_folder
挂载到路径/app
上的Nginx容器中可以通过使用-v
参数来完成:这将把文件夹
/home/user/some_folder
绑定到路径/app
上的容器中要了解更多关于挂载的信息,我会参考文档:https://docs.docker.com/storage/bind-mounts/