我有一个运行在Docker容器内部的服务,端口号为1234。现在我想从同一个Docker容器内部运行测试该服务的代码,使用:
`docker exec`
但是我无法这样做,因为我的测试无法连接到它。 我使用Docker $HOSTNAME变量作为服务地址。
docker exec SERVICE_NAME /bin/sh -c "nc -vz $HOSTNAME 1234"
返回
连接被拒绝
docker exec SERVICE_NAME /bin/sh -c "netstat -tulpn"
返回空行
我也尝试过使用0.0.0.0代替$HOSTNAME
我已经考虑过从其他容器运行测试,但对我来说不是很方便,因为有两个原因: 1)我在使用带有docker的gitlab ci。 2)我的服务链接到许多其他docker服务,例如mongodb、rabbit等。
谢谢
$HOSTNAME
替换为localhost
。 - Auzias