[英]Error when installing docker-compose using ansible-playbook
[英]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.