gpt4 book ai didi

docker - 带有远程Docker守护程序的Packer Docker Builder

转载 作者:行者123 更新时间:2023-12-02 19:33:02 29 4
gpt4 key购买 nike

我正在使用带有Ansible的Packer Docker Builder创建Docker镜像(https://www.packer.io/docs/builders/docker.html)

我有一台机器(客户端),用于运行构建脚本。 Packer docker 在此计算机上通过ansible执行。这台机器有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'.

打包程序 docker 似乎停留在查看本地守护程序。

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

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

最佳答案

Packers Docker构建器不适用于远程主机,因为Packer使用/packer-files卷挂载与容器进行通信。这在文档中含糊地表达了:

The Docker builder must run on a machine that has Docker installed.



并在 Overriding the host directory中进行了解释。

关于docker - 带有远程Docker守护程序的Packer Docker Builder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49163879/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com