用于Golang的Docker SDK无法连接到覆盖网络内部的守护程序

时间:2018-11-25 19:01:44

标签: docker go docker-compose docker-swarm docker-api

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

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

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

1 个答案:

答案 0 :(得分:1)

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

您可以将其作为卷从主机挂载: statfile = os.stat(filename) filesize = statfile.st_size if filesize == 0: #manage here the 'faulty image' case

相关问题