2017-02-04 142 views
0

我正在爲可執行腳本啓動docker damon,docker container,docker exec在Docker容器中啓動docker容器後,我需要啓動一些服務。docker守護進程啓動使用ansible

我已經安裝了碼頭引擎,配置並使用遠程機器中的一些碼頭容器。我曾經用特定的路徑啓動docker守護進程,因爲我需要在路徑中存儲我的卷和容器。

$docker daemon -g /test/docker 

時啓動泊塢窗守護進程的開始,而不是去下道工序我的問題是通過ansible。仍在運行docker守護進程。

--- 
    - 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,但它不是爲我工作,

建議我開始搬運工守護進程後,如何運行下一道工序。

回答

2

爲了開始你應該使用ansible service module泊塢窗守護:

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

official documentation描述的任何碼頭工人守護定製應放置在/etc/docker/daemon.json。你的情況的文件看起來像:

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

爲了與容器交互,請使用ansible docker_container module

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

儘量避免使用外殼模塊中ansible做任何事情,因爲它可以導致頭痛。