【发布时间】:2021-11-08 07:10:14
【问题描述】:
我有这个 docker-compose.yml,它运行一个依赖于 Redis 的节点脚本。
version: "3.9"
services:
redis:
image: "redis:alpine"
# restart: always
ports:
- "127.0.0.1:6379:6379"
volumes:
- ./docker/redis:/data
node:
image: "node:17-alpine"
user: "node"
depends_on:
- redis
environment:
- NODE_ENV=production
- REDIS_HOST_ENV=redis
volumes:
- ./docker/node/src:/home/node/app
- ./docker/node/log:/home/node/log
expose:
- "8081"
working_dir: /home/node/app
command: "npm start"
当使用docker compose up 启动这个脚本时,两个服务都会启动。但是,当node 服务完成时,redis 服务会继续运行。有没有办法定义redis服务可以在节点服务完成时停止?
【问题讨论】:
-
How to stop all containers when one container stops with docker-compose? 建议使用
docker-compose up --abort-on-container-exit,尽管这需要您在前台运行容器并且可能无法扩展到更大的应用程序。这足以满足您的需求吗? -
这听起来像我要找的!谢谢!
标签: docker docker-compose