Docker 按需组合激活容器
Docker Compose activate container on demand
我有一个应用程序可以对数据馈送进行详细说明。该过程分为多个任务,因此我构建了一个 docker-compose.yml
文件,如下所示:
task1-service:
image: task1-image
task2-service:
image: task2-image
task3-service:
image: task3-image
每个task-service都是前一个结束触发,再触发下一个,然后就可以退出了。所以没有必要保留每个服务 运行.
我想知道是否有解决方案可以让它们全部停止,并在需要时按需启动每个服务。
我不知道 docker compose
是否是正确的解决方案,但我喜欢将系统描述保存在一个 yml
文件中的想法。无论如何,其他解决方案表示赞赏。
谢谢
可以通过不同的方式解决您的问题,其中之一是 docker-compose
。
首先,您可以使用 docker-compose up -d <service_name>
启动一个具体服务(taskX-service)
您在
中有更多详细信息
其次,docker-compose
还允许您配置容器之间的依赖关系。如果你想 运行 它们的顺序,你可以在 depends_on:
结构中指定它。
例如,要按顺序执行任务 1、2 和 3,您可以使用:
task1-service:
image: task1-image
task2-service:
image: task2-image
depends_on:
- task1-service
task3-service:
image: task3-image
depends_on:
- task2-service
此外,这个docker-compose.yml兼容我先说的:
docker-compose up -d task1-service
docker-compose up -d task2-service (also launchs task1-service)
docker-compose up -d task3-service (also launchs task2 and 1 service)
如果您不指定任何容器,docker-compose down
将停止撰写文件中的所有容器。
希望对你有用。
我有一个应用程序可以对数据馈送进行详细说明。该过程分为多个任务,因此我构建了一个 docker-compose.yml
文件,如下所示:
task1-service:
image: task1-image
task2-service:
image: task2-image
task3-service:
image: task3-image
每个task-service都是前一个结束触发,再触发下一个,然后就可以退出了。所以没有必要保留每个服务 运行.
我想知道是否有解决方案可以让它们全部停止,并在需要时按需启动每个服务。
我不知道 docker compose
是否是正确的解决方案,但我喜欢将系统描述保存在一个 yml
文件中的想法。无论如何,其他解决方案表示赞赏。
谢谢
可以通过不同的方式解决您的问题,其中之一是 docker-compose
。
首先,您可以使用 docker-compose up -d <service_name>
启动一个具体服务(taskX-service)
您在
其次,docker-compose
还允许您配置容器之间的依赖关系。如果你想 运行 它们的顺序,你可以在 depends_on:
结构中指定它。
例如,要按顺序执行任务 1、2 和 3,您可以使用:
task1-service:
image: task1-image
task2-service:
image: task2-image
depends_on:
- task1-service
task3-service:
image: task3-image
depends_on:
- task2-service
此外,这个docker-compose.yml兼容我先说的:
docker-compose up -d task1-service
docker-compose up -d task2-service (also launchs task1-service)
docker-compose up -d task3-service (also launchs task2 and 1 service)
如果您不指定任何容器,docker-compose down
将停止撰写文件中的所有容器。
希望对你有用。