Как запускать команды docker -compose с ansible? - PullRequest
0 голосов
/ 18 июня 2020

В ansible playbook мне нужно запустить команды docker -compose. Как мне это сделать? Мне нужно запустить команду: docker-compose -f docker-compose.yml -f docker-compose.prod.yml up

Ответы [ 2 ]

2 голосов
/ 18 июня 2020

Вы должны скопировать файлы Docker Compose и использовать модуль docker_compose, например:

- name: copy Docker Compose files
  copy:
    src: files/{{ item }}
    dest: /somewhere/yourproject/{{ item }}
  loop:
  - docker-compose.yml
  - docker-compose.prod.yml

# use files parameter to use multiple docker-compose.yml files
- name: deploy Docker Compose stack
  docker_compose:
    project_src: /somewhere/yourproject
    files:
    - docker-compose.yml
    - docker-compose.prod.yml
1 голос
/ 18 июня 2020

В конце я решил использовать модуль оболочки. Я думаю, что ответ @ pierre-b более правильный, но все равно:

- name: Run container
  become: True
  shell:
    cmd: "docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d"
    chdir: /mydir/
...