【发布时间】:2021-10-17 10:05:24
【问题描述】:
我的 Ansible Bitbucket 角色有一个任务,它只是启动两个 docker-compose.yml 文件。
当从 Ansible 执行它时它会失败,但是当我在实际服务器上通过 ssh 执行相同的命令时它工作得很好。我目前正在以 root 身份执行我的剧本,当我手动执行 docker-compose -f
- name: Create and start services
- name: docker compose up
docker_compose:
project_src: "{{ bitbucket__install_path }}"
files: "{{ bitbucket__compose_files }}"
state: present
register: output
Ansible 命令:
ansible-playbook -i inventory/staging playbooks/bitbucket-server.yml -vvvv -kKu root --ask-vault-pass --start-at-task "Setup bitbucket"
Ansible 成功启动了 3 个容器中的 2 个,但第三个容器因错误而崩溃:
来自守护程序的错误响应:OCI 运行时创建失败: container_linux.go:380:启动容器进程导致:exec: “/my_entrypoint.sh”:权限被拒绝:未知错误:启动失败 容器:nginx_bitbucket_1
我的问题是,为什么 Ansible 在执行上述任务时会收到错误,同时执行“docker-compose -f
【问题讨论】:
-
您没有提供足够的信息来回答。我的疯狂猜测可能是您从不同的用户运行它与您的 ssh 会话相比。
标签: python docker docker-compose ansible ansible-role