我有一个docker集群,在该集群的覆盖网络内部有一个容器。该容器有一个用golang编写的应用程序,可通过创建一个容器并启动它来与Docker API交互。当我在主机上运行golang应用程序时,一切运行正常,并且可以毫无问题地创建和运行容器。但是,当我将应用程序放入容器并在覆盖网络中运行时,它不再可以访问API。
我假设这与网络有关,但是我的项目的想法是有多种服务,每个服务都有自己的网络,可以创建,启动和删除他们认为合适的容器。不幸的是,目前无法在覆盖网络之外的应用中不运行SDK。
错误:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
答案 0 :(得分:1)
您的应用正在尝试访问Docker套接字,但是默认情况下无法在容器中访问它。
您可以将其作为卷从主机挂载:
statfile = os.stat(filename)
filesize = statfile.st_size
if filesize == 0:
#manage here the 'faulty image' case