我正在使用 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 图像的容器。
当我配置 Jenkins(容器)和 Gitlab(“互联网”)之间的连接时,一切正常。但是当我在 Gitlab 中创建 Webhook 时,我必须输入 Jenkins 的 URL。我正在尝试
localhost
和从 获得的 IP IP地址属性(property):"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?
如何从主机连接到我的容器?这是正确的方法吗?我应该知道哪些问题来解决以后的问题?
感谢您的帮助:)
最佳答案
如果您也在 Docker 容器中运行 Gitlab 实例,则只需将 Gitlab 容器添加到同一个 Docker 网络。
如果你的 Gitlab 实例真的在互联网上,你不能用 localhost 或任何本地 IP 地址来解决这个问题。你需要:
--p <docker-internal-port>:<docker-external-port>
如果您能提供更多有关您的网络基础设施的信息,答案可能会更清楚。
关于Docker - 从主机连接到容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52313745/