Ansible并重新启动Docker服务
我目前正在使用Ansiblepipe理我的Docker服务。 这些图像由/opt/ipaccess/docker/
的Docker Compose文件pipe理。
我的更新过程如下:
-
停止服务
docker_service: project_src=/opt/ipaccess/docker/ state=absent
-
上传新的docker图像并加载它们
-
开始服务
docker_service: project_src=/opt/ipaccess/docker/ state=present
我正在寻找的是一种只停止/启动我已上传的内容的方法(我知道这是受影响的服务在Playbook上下文中已知的)。
我已经在线阅读了文档,但不清楚如何告诉docker_service模块只停止/启动一个特定的服务。
免责声明:这是未经testing,似乎是无证的。
看文档, 似乎没有办法做到这一点。 但是,如果我们查看docker_service模块的代码 (特别是重新启动命令cmd_restart
),它看起来像是一个服务列表或一个错误的值(falsey值导致它重新启动所有服务)。 这个命令只能由cmd_up
函数调用,所以我们也需要state=present
。
基于此,我期望:
docker_service: project_src: /opt/ipaccess/docker/ services: - db - web - myotherservice restarted: true state: present
仅重新启动列出的服务。
让我知道如果这对你有用,如果是的话,我们应该得到这些文件更新与公关。 如果不是发布你的错误,我们可以从那里工作。