2

我有一个 docker swarm,以及该 swarm 上覆盖网络内的一个容器。该容器有一个用 golang 编写的应用程序,它通过创建一个容器并启动它来与 Docker API 交互。当我在主机上运行我的 golang 应用程序时,一切都运行完美,它可以毫无问题地创建和运行容器。但是,当我将应用程序放入容器并在我的覆盖网络中运行它时,它不再可以访问 API。

我假设这与网络有关,但我的项目的想法是有多个服务,每个服务都有自己的网络,可以创建、启动和删除他们认为合适的容器。不幸的是,目前不能在覆盖网络之外的应用程序中运行 SDK。

错误:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

4

1 回答 1

2

您的应用程序正在尝试访问 Docker 套接字,但默认情况下在容器中无法访问。

您可以从主机将其挂载为卷: -v /var/run/docker.sock:/var/run/docker.sock

于 2018-11-25T19:10:50.713 回答