Ansible并重新启动docker服务

时间:2016-11-29 10:44:13

标签: docker ansible

我目前正在使用Ansible管理我的Docker服务。图像由Docker Compose文件管理,该文件位于/opt/ipaccess/docker/

我的更新流程如下:

  1. 停止服务

    docker_service: project_src=/opt/ipaccess/docker/ state=absent
    
  2. 上传新的泊坞窗图片并加载

  3. 启动服务

    docker_service: project_src=/opt/ipaccess/docker/ state=present
    
  4. 我正在寻找的是一种只停止/启动我上传的内容的方式(我知道因为受影响的服务在剧本环境中已知)。

    我已经在线阅读了这些文档,但目前还不清楚如何告诉docker_service模块只停止/启动特定服务。

1 个答案:

答案 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更新这些文档。如果没有发布您的错误,我们可以在那里工作。