首页 文章

Packer Docker Builder与远程docker守护进程

提问于
浏览
0

我正在使用带有ansible的打包程序docker builder来创建docker镜像(https://www.packer.io/docs/builders/docker.html

我有一台机器(客户端),用于运行构建脚本 . 封隔器码头工具由此机器执行 . 这台机器有docker客户端 . 它连接到远程docker守护程序 . 环境变量DOCKER_HOST设置为指向远程docker主机 . 我能够测试连接性,并且工作正常 .

现在的问题是,当我执行打包器docker来构建映像时,它出错了:

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'.

似乎封隔器码头 Worker 看着当地的守护进程 .

解决方法:我重命名了docker binary并引入了一个名为“docker”的脚本,该脚本设置DOCKER_HOST并使用传入的参数调用原始docker二进制文件 .

有没有更好的方法来解决这个问题?

1 回答

  • 1

    Packers Docker构建器不能与远程主机一起使用,因为packer使用 /packer-files 卷装置与容器通信 . 这在文档中含糊地表达为:

    Docker构建器必须在安装了Docker的计算机上运行 .

    并在Overriding the host directory中解释 .

相关问题