Estoy intentando realizar solicitudes a la API de Docker de forma remota.
Tengo el motor de la ventana acoplable ejecutándose en una máquina virtual y realizo las solicitudes desde los contenedores de la ventana acoplable.
En primer lugar, hice esto para que el demonio Docker escuche en una IP y un puerto específicos:
edit /lib/systemd/system/docker.service ExecStart=/usr/bin/docker -H fd:// -H=tcp://0.0.0.0:5555 systemctl daemon-reload sudo service docker restartConfiguré para escuchar en 0.0.0.0, por lo que será accesible en cualquier dirección IPv4.
Cuando pruebo esto a través de curl en el host, funciona bien. por ejemplo: curl localhost:5555/servicios
Sin embargo, mi objetivo es hacer solicitudes desde contenedores. Así es como construyo el cliente docker dentro de mi programa go:
cli, err := client.NewClientWithOpts( client.WithHost("tcp://192.168.56.1:5555"), ) if err != nil { panic(err) } networkFilters := filters.NewArgs() networkFilters.Add("driver", "overlay") networks, err := cli.NetworkList(context.Background(), types.NetworkListOptions{Filters: networkFilters}) if err != nil { panic(err) }El error que estoy teniendo:
http: panic serving 10.255.0.2:39632: error during connect: Get http://192.168.56.1:5555/v1.40/networks?filters=%7B%22driver%22%3A%7B%22overlay%22%3Atrue%7D%7D: read tcp 172.18.0.3:36126->192.168.56.1:5555: read: connection reset by peer¿Algunas ideas? Gracias