dockerized Node.js 应用程序包含
pb_migrations
目录。在下面的 Docker Compose 文档中,您可以看到它依赖于 PocketBase 的 dockerized 版本。
我想要实现的是,PB 容器在启动时应该在其
/app/pb_migrations
路径上具有可用的 node
容器中的 /pb_migrations
目录。
我尝试使用命名卷来执行此操作,但 PB 容器的目录为空。我不想每次都单独复制目录并从主机挂载它,并且希望只使用
docker-compose.yml
文档来运行它。
version: '3.7'
services:
pocketbase:
image: spectado/pocketbase:0.19.2
container_name: pocketbase
restart: unless-stopped
ports:
- '8090:80'
volumes:
- pb_data:/pb_data
- pb_migrations:/pb_migrations/
app:
image: app:latest
container_name: app
restart: unless-stopped
env_file: .env
volumes:
- pb_migrations:/app/pb_migrations/
ports:
- '$PORT:$PORT'
depends_on:
- pocketbase
volumes:
pb_data:
pb_migrations:
要使用 Docker Compose 使应用程序容器中的
/app/pb_migrations
目录可在 /pb_migrations
容器中的 pocketbase
路径中使用,您可以使用绑定挂载。绑定挂载让您可以直接将目录从一个位置(例如主机或另一个容器)连接到另一个容器。
https://docs.docker.com/compose/compose-file/compose-file-v3/#volumes
你可以查看这个答案