docker守护程序开始使用ansible

时间:2017-02-04 13:01:02

标签: docker ssh ansible

我正在为启动docker damon,docker container,docker exec 开发ansible脚本。在docker容器中启动docker容器后,我需要启动一些服务。

我安装了docker引擎,配置并使用远程机器中的某个docker容器。我习惯用特定的路径启动docker守护进程,因为我需要在路径中存储我的卷和容器。

 $docker daemon -g /test/docker

我的问题是启动docker守护程序启动时,但不会转到下一个进程。通过ansible。仍在运行docker daemon。

  ---
  - hosts: webservers
    remote_user: root

   # Apache Subversion   dnf -y install python-pip

    tasks:

      - name: Start Docker Deamon
        shell: docker -d -g /test/docker 
        become: yes
        become_user: root

      - name: Start testing docker machine
        command: docker start testing
        async: True
        poll: 0

我按照异步启动process,但它不适用于我,

建议我启动docker守护进程后,如何运行下一个进程。

1 个答案:

答案 0 :(得分:3)

要启动docker守护程序,您应该使用ansible service module

- name: Ensure docker deamon is running
  service:
    name: docker
    state: started
  become: true

任何docker守护程序自定义都应放在 /etc/docker/daemon.json 中,如official documentation中所述。在你的情况下,文件看起来像:

{
   "graph": "/test/docker"
}

要与容器进行交互,请使用ansible docker_container module

- name: Ensure My docker container is running
  docker_container:
    name: testing
    image: busybox
    state: started
  become: true

尽量避免使用shell模块在ansible中做任何事情,因为它可能导致头痛。