Docker тег и push для облачного провайдера в ansible - PullRequest
0 голосов
/ 03 апреля 2019

Я создаю док-контейнер с использованием ansible, но мне нужно также пометить этот контейнер для GCP (Google Cloud Platform).Я могу сделать это в командной строке с помощью

docker tag app:latest gcr.io/my-project-12314514/app:latest

, но я не вижу, как это сделать с помощью ansible.Я использую команду docker_image для создания своего контейнера.

---
- hosts: localhost
  connection: local

  tasks:
  - name: Build container
    docker_image:
      name: app
      path: web_app/
      pull: no
      state: build

элемент тега перезаписывает только «последний» тег.Я могу

---
- hosts: localhost
  connection: local

  tasks:
  - name: Build container
    docker_image:
      name: app
      path: web_app/
      pull: no
      state: build
  - name: Tag for GCP
    docker_image:
      name: gcr.io/my-project-12314514/app
      path: web_app/
      pull: no
      state: build

Я скопировал и вставил все, чтобы создать контейнер с тегами, и это, кажется, работает, но выглядит неуклюже.Можно ли сделать это более элегантно?

1 Ответ

0 голосов
/ 03 апреля 2019

Примеры в документации подсказывают, как вы это сделаете:

https://docs.ansible.com/ansible/latest/modules/docker_image_module.html#examples

tasks:
- name: Build container
  docker_image:
    name: app
    path: web_app/
    pull: no
    state: build
- name: Tag for GCP
  docker_image:
    name: app
    repository: gcr.io/your-project/your-repo
    tag: your-tag
    push: yes

Я совершенно незнаком с Ansible, но надеюсь, что это то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...