Сборка docker для моделирования -f с доступным модулем docker_image

Пока я создаю образ докера и хочу добавить инструкцию «КОПИРОВАТЬ» в Dockerfile с каталогом, который находится за пределами текущего каталога сборки (место, где находится Dockerfile) - я использую что-то вроде этого:

docker build -f centos6-fresh / Dockerfile -t test / c6-fresh.

Теперь я хочу подготовить контейнеры и создать образы докеров через ansible. Конечно, я могу сделать это с помощью оболочки, командных или сырых модулей, но я видел специальный модуль для Docker.

Итак, я использовал модуль docker_image

- name: Build test image
       docker_image:
           path: /docker/build_env/test
           name: test_build
           tag: v0

И, конечно же, у меня есть ошибка.

Есть ли возможность указать, из какого каталога нужно начинать процесс сборки?

UPD Пример случая, когда мне нужны эти манипуляции:

У меня есть узел управления (мой ноутбук) с анзиблем и хост Docker с контейнерами. Ansible dir подготавливает git к серверу Docker.

Обычно я создаю образ в каталоге build_env на хосте Docker:

[root@docker build_env]# ls -1
ansible
centos6-fresh
centos7-fresh
debian8-fresh
templates
test

Итак, после запуска "git pull" в доступном каталоге я запускаю что-то вроде

docker build -f centos6-fresh / Dockerfile -t test / c6-fresh.

Dockerfile состоит из:

КОПИРОВАТЬ доступный / etc / ansible

Как мы сейчас, докер не позволяет использовать что-то вроде «КОПИРОВАТЬ ../ansible» в параметрах КОПИРОВАТЬ или ДОБАВИТЬ.


person Antony Makaruk    schedule 27.10.2016    source источник
comment
конечно, в качестве варианта я могу вытащить доступный каталог в каталог сборки, и после создания образа я могу запустить очистку, но я думаю, что это грязный крючок   -  person Antony Makaruk    schedule 27.10.2016


Ответы (1)


Согласно документации docker_image, есть опция dockerfile, которая является точным аналогом -f параметр командной строки. Итак, вам просто понадобится:

- name: Build test image
  docker_image:
    path: /docker/build_env/
    name: test_build
    tag: v0
    dockerfile: centos6-fresh/Dockerfile
person larsks    schedule 27.10.2016
comment
Ты прав! Большое спасибо. Я видел, но не пробовал, потому что не понимал, для чего он изобретен. - person Antony Makaruk; 27.10.2016