从ansible剧本内部执行docker-compose

问题描述 投票:0回答:1

我在执行docker-compose时遇到问题,这是从Ansible剧本中调用的,我尝试了几种方法,但都给我一个错误:

1。

docker_service:
        project_src: /test/docker/   
        command: docker-compose -f {{ name }}_compose.yml  up -d

2。

docker_service:
        project_src: /test/docker/
        files:
            src: "{{ name }}_compose.yml"
        state: present

错误多种多样:

FAILED! => {"changed": false, "msg": "Failed to import docker or docker-py - No module named 'requests'. Try `pip install docker` or `pip install docker-py` (Python 2.6)"}

FAILED! => {"changed": false, "msg": "Unsupported parameters for (docker_service) module: command Supported parameters include: api_version, build, cacert_path, cert_path, debug, definition, dependencies, docker_host, files, hostname_check, key_path, nocache, project_name, project_src, pull, recreate, remove_images, remove_orphans, remove_volumes, restarted, scale, services, ssl_version, state, stopped, timeout, tls, tls_hostname, tls_verify"}

我在做什么错?

ansible
1个回答
0
投票
以下任务将启动您的撰写文件。

- name: Deploy docker compose docker_compose: project_src: /test/docker/ files: - "./{{ name }}_compose.yml" state: present

似乎您没有安装使用Ansible中的docker模块所需的docker python模块。您可以在以下任务中使用pip进行安装。

- name: Ensure docker python module is present pip: name: docker[tls]

您可能还需要安装pip,具体取决于您的操作系统和软件包管理器

[注意: Ansible已将docker_service模块的名称从2.8版开始更改为docker_compose

© www.soinside.com 2019 - 2024. All rights reserved.