从docker容器内部访问docker端口

我有一个服务端口1234docker容器内运行。现在我想运行testing从同一个docker容器使用此服务

`docker exec` 

但我不能这样做,因为我的testing无法连接到它。 作为服务地址,我使用docker $ HOSTNAMEvariables。

 docker exec SERVICE_NAME /bin/sh -c "nc -vz $HOSTNAME 1234" 

回报

拒绝连接

 docker exec SERVICE_NAME /bin/sh -c "netstat -tulpn" 

返回空行

我也试过$ HOSTNAME的0.0.0.0 insead

我已经考虑过从其他容器运行testing,但是这对我来说不是很方便,原因有两个:1)我使用gitlab ci和docker。 2)我的服务链接到一些其他docker服务,如mongodb,兔子等

谢谢

假设你的问题是“是否可以从容器执行Docker-call到主机?

是的,确定这是可能的! 与Docker守护进程的通信通过一个套接字。 默认情况下,这个套接字是unix:///var/run/docker.sock 。 你的经理容器只需要访问(和许可)到这个套接字。

不是Docker守护进程的选项(我正在看ou -H, --host )允许通过TCP (甚至是fd )进行通信。

然后您只需要一个Docker客户端(任何Docker API实现)进行通信。