我正在将Docker for Windows与创建的桥接网络一起使用:
"bridge":"none"
(daemon.json)docker network create --subnet 192.168.23.1/24 --gateway 192.168.23.1 --driver bridge my-network
...以及带有詹金斯图像的容器。
当我配置Jenkins(容器)和Gitlab(“互联网”)之间的连接时,一切正常。但是,当我在Gitlab中创建Webhook时,必须输入Jenkins的URL。我尝试使用localhost
并从 IPAddress 属性获得IP:
"Networks": {
"my-network": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"jenkins",
"dff5dcb7c95a"
],
"NetworkID": "xxx",
"EndpointID": "yyy",
"Gateway": "192.168.23.1",
"IPAddress": "192.168.23.2",
"IPPrefixLen": 24,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "zzz",
"DriverOpts": null
}
}
..,但两个选项均无效。
问题:如何确定正确的URL?
如何从主机连接到我的容器?这是正确的方法吗?我应该知道哪些问题来解决将来出现的以下问题?
感谢您的帮助:)
答案 0 :(得分:1)
如果您还在Docker容器中运行Gitlab实例,则只需将Gitlab容器添加到同一Docker网络中。
如果您的Gitlab实例确实在Internet中,则无法使用localhost或任何本地IP地址解决此问题。您需要:
--p <docker-internal-port>:<docker-external-port>
如果您要提供有关网络基础设施的更多信息,答案可能会更清楚。