我目前正在使用Ansible管理我的Docker服务。图像由Docker Compose文件管理,该文件位于/opt/ipaccess/docker/
。
我的更新流程如下:
停止服务
docker_service: project_src=/opt/ipaccess/docker/ state=absent
上传新的泊坞窗图片并加载
启动服务
docker_service: project_src=/opt/ipaccess/docker/ state=present
我正在寻找的是一种只停止/启动我上传的内容的方式(我知道因为受影响的服务在剧本环境中已知)。
我已经在线阅读了这些文档,但目前还不清楚如何告诉docker_service模块只停止/启动特定服务。
答案 0 :(得分:1)
免责声明:这是未经测试的,似乎没有记录。
查看文档似乎就像没有办法做到这一点。但是,如果我们查看code for the docker_service module(特别是重启命令cmd_restart
),它看起来需要一个服务列表或一个假值(falsey值导致它重新启动所有服务)。此命令仅由cmd_up
函数调用,因此我们也需要state=present
。
基于此,我希望:
docker_service:
project_src: /opt/ipaccess/docker/
services:
- db
- web
- myotherservice
restarted: true
state: present
仅重新启动列出的服务。
如果这对您有用,请告诉我,如果是这样,我们应该使用PR更新这些文档。如果没有发布您的错误,我们可以在那里工作。