Я пытаюсь создать кучу докеров на машине, используя модуль Ansible docker_image.
Я создаю 1 «базовый» образ докера, который используется как образ FROM во всех последующих образах докеров. Это работает при выдаче команд сборки вручную как:
sudo docker build -t base .
sudo docker build -t postgres .
Но когда я пытаюсь сделать то же самое с модулем Ansible, второй образ (и все последующие образы, использующие «базовый» образ) завершается со следующей ошибкой:
TASK: [Docker | Build postgres] ************************************
failed: [192.168.1.120] => {"changed": true, "failed": true, "image_id": null}
msg: Error: Error: image base:latest not found
Log:Step 0 : FROM base
FATAL: all hosts have already failed -- aborting
Записи в моей Playbook:
- name: Docker | Build base
docker_image: path="/home/xx/data/dockers/base/" name="base" state=present
- name: Docker | Build postgres
docker_image: path="/home/xx/data/dockers/postgresql/" name="postgres" state=present
Когда это не удается, на машине существует «базовый» образ, и я могу проверить это, проверив docker images
. Последующие образы (в данном случае postgres) также собираются в обязательном порядке при ручной сборке.
Соответствующие выдержки из Dockerfiles:
Базовый файл Docker:
FROM ubuntu
MAINTAINER me
RUN apt-get update
RUN apt-get install -y \
software-properties-common \
wget \
git \
unzip \
nano \
vim-tiny
CMD bash
Докерфайл Postgres:
FROM base
MAINTAINER me
RUN groupadd -r postgres && useradd -r -g postgres postgres
...
Таким образом, Ansible изо всех сил пытается создать образ, используя другой образ в качестве базового образа. Я уверен, что проблема не в файлах Docker, потому что я могу создавать образы вручную. Я просто пытаюсь автоматизировать сборку с помощью Ansible, и это вызывает у меня проблему.
Любой совет?