2017-02-04 4 views
0

Ich arbeite an Ansible Skript für Start Docker Damon, Docker Container, Docker exec Nach Start Docker Container mit in den Docker Container muss ich einige Dienste zu starten.Docker Daemon Start mit Ansible

Ich habe Docker-Engine installiert, konfiguriert und mit einigen Docker-Container in Remote-Maschinen arbeiten. Ich habe verwendet, Docker Daemon mit bestimmten Pfad zu starten, weil ich meine Volumes und Container mit in Pfad speichern müssen.

$docker daemon -g /test/docker 

Mein Problem ist bei dem Docker Daemon seiner gestartet starten, aber nicht zum nächsten Prozess gehen. über ansible. Docker-Dämon läuft immer noch.

--- 
    - 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 

Ich folge async die process zu starten, aber es ist nicht für mich arbeiten,

vorschlagen mich Nach dem Start Docker Daemon Wie nächsten Prozess ausgeführt.

Antwort

2

Um die Docker-Daemon starten Sie die ansible service module verwenden sollten:

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

jeder Docker Daemon Anpassung platziert werden soll in /etc/docker/daemon.json in official documentation wie beschrieben. in Ihrem Fall aussehen würde die Datei wie:

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

Um mit Containern zu interagieren, verwenden Sie die ansible docker_container module:

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

Versuchen etwas zu tun in ansible mit dem Shell-Modul zu vermeiden, da es verursachen Kopfschmerzen auf der ganzen Linie.

Verwandte Themen