【发布时间】:2025-12-09 15:55:02
【问题描述】:
- 在 Docker 容器中运行了一个 Web 服务。
- 此网络服务依赖于大型 json 文件来启动。
我创建了一个 Docker 卷来存储带有docker volume create my-api-files 的 json 文件。
这是网络服务的docker-compose 文件:
version: '3'
services:
my-api:
image: node:alpine
expose:
- ${NODE_PORT}
volumes:
- ./:/api
- my-api-files:/files
working_dir: /api
command: npm run start
volumes:
my-api-files:
external: true
现在,如何在使用 docker-compose up 启动 web 服务之前将 json 文件复制到 my-api-files docker 卷?
【问题讨论】:
-
你不需要复制。 docker volume 会将文件目录挂载到容器内的 my-api-files 目录中
-
我不想将文件存储在 docker 容器中。这就是为什么我想使用单独的卷
-
* 上有 2017 年的 recipe 并且 docker-compose 有一个未解决的问题 docker-compose copy file or directory to container。 AFAIK 这个问题没有直接的解决方案,但可以解决它
-
你不需要复制任何东西。您可以将主机上的目录挂载到容器上的路径中。 this post 的第一部分向您展示了如何。
标签: docker docker-compose docker-volume