Packer Docker Builder с удаленным демоном docker

Я использую сборщик докеров для пакетов с возможностью создания образа докера (https://www.packer.io/docs/builders/docker.html)

У меня есть машина (клиент), которая предназначена для запуска сценариев сборки. Докер упаковщика выполняется с помощью ansible с этой машины. На этой машине есть док-клиент. Он подключен к удаленному демону докера. Переменная среды DOCKER_HOST указывает на удаленный узел докера. Я могу проверить подключение, и все работает хорошо.

Теперь проблема в том, что когда я запускаю пакетную докеру для создания образа, он выдает ошибку:

   docker: Run command: docker run -v /root/.packer.d/tmp/packer-docker612435850:/packer-files -d -i -t ubuntu:latest /bin/bash
==> docker: Error running container: Docker exited with a non-zero exit status.
==> docker: Stderr: docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
==> docker: See 'docker run --help'.

Кажется, докер упаковщика застрял, глядя на локальный демон.

Обходной путь: я переименовал двоичный файл docker и представил скрипт под названием «docker», который устанавливает DOCKER_HOST и вызывает исходный двоичный файл docker с переданными параметрами.

Есть ли лучший способ справиться с этим?


person object    schedule 08.03.2018    source источник
comment
У Packer есть коммуникаторы, которые можно подключить к компоновщику, что может шунтировать все команды докера через ssh-соединение?   -  person Matt    schedule 08.03.2018


Ответы (1)


Packers Docker Builder не работает с удаленными хостами, так как Packer использует монтирование тома /packer-files для связи с контейнером. Это неопределенно выражено в документах:

Сборщик Docker должен работать на машине, на которой установлен Docker.

И объясняется в разделе Переопределение каталога хоста.

person Rickard von Essen    schedule 08.03.2018
comment
Я сделал небольшое обновление документации, чтобы прояснить это, см. github.com/hashicorp/packer. /pull/5992/files Он будет развернут в следующем выпуске. - person Rickard von Essen; 10.03.2018