繁体   English   中英

在docker-compose中使用ansible

[英]using ansible with docker-compose

我正在尝试使用Ansible剧本部署Docker安装程序。 为此,我正在使用docker_service

我的剧本看起来像:

---
- name: Run Docker compose
hosts: all
gather_facts: no
tasks:
  - debug: msg="Container - {{ inventory_hostname }}"

  - docker_service:
      project_src: "compose"
      state: absent

  - docker_service:
      project_src: "compose"
      state: present

以以下方式运行此简单剧本时:

ansible-playbook -v playbook.yml --ask-sudo-pass

我添加了--ask-sudo-pass以确保它不是权限问题。

OUTPUT

SUDO password:

PLAY [Run Docker compose] ******************************************************

TASK [debug] *******************************************************************
ok: [prolims-staging] => {
    "msg": "Container - prolims-staging"
}

TASK [docker_service] **********************************************************
fatal: [prolims-staging]: FAILED! => {"changed": false, "msg": "Error connecting: Error while fetching server API version: ('Connection aborted.', error(13, 'Permission denied'))"}
        to retry, use: --limit @/data/prolims-provision/provision-docker.retry

PLAY RECAP *********************************************************************
prolims-staging            : ok=1    changed=0    unreachable=0    failed=1

我也尝试过在其他论坛上查找此问题(以及与此StackOverflow相似的问题),但是这些问题没有帮助。

注意:我能够通过其CLI在目标计算机上成功运行docker-compose(使用sudo)。

另外,我也尝试与docker_container一起玩。 我尝试执行以下内容的剧本:

...
- name: check container status
    command: docker ps
    register: result

  - name: Create a container
    docker_container:
      name: db_pg
      image: "postgres:latest"
      state: present
      recreate: yes
  ...

并运行此剧本就可以了。

我认为,发布我的docker-compose文件可能与此处无关。

我遵循了这个示例 ,但是没有用。 也许,我可能在这里错过了一些愚蠢或非常重要的事情。

对于理解和解决此问题的任何帮助将不胜感激。

我可以通过CLI在目标计算机上成功运行docker-compose( 使用sudo )。

因此,您需要使用become任务的声明。

我添加了--ask-sudo-pass以确保它不是权限问题。

仅将--ask-sudo-pass添加到--ask-sudo-pass ansible-playbook参数不会有任何效果,除非相关的任务/播放已become声明(并且become_method设置为sudo ,但这是默认设置)。

参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM