概括
我在本地 Docker 容器中安装了本地 Jenkins 构建服务器,并将主机的 8080 端口暴露给 Jenkins 容器。
我想测试 Jenkins 与 Azure DevOps 的集成,因此 Jenkins 作为该项目的构建服务器。
Docker
我只是使用了来自 Docker Hub 的官方 jenkins/jenkins Docker 镜像并像这样运行它:
docker run -d -p 8080:8080 --name jenkins jenkins/jenkins
容器可从其访问localhost:8080
并且响应良好。
Windows 10 专业版
在Windows 10防火墙中我创建了两个端口规则:
- 入站、TCP、本地端口:全部、远程端口:全部
- 入站、UDP、本地端口:全部、远程端口:全部
Bell Fibe HomeHub 2000
我为我的 IP 地址创建了一个端口转发,调制解调器将其与运行 Docker 容器的正确计算机关联起来。
互联网
当我尝试[public ip address]:80
通过谷歌搜索“我的 IP 地址是什么”来访问我获得的网站时,我点击了此页面。
相关 SF 问题
Docker 容器中的 Web 服务器无法通过 Internet 访问
我不确定如何继续,甚至不知道是否有必要。我更像是一名软件架构师,而不是系统管理员,如果我的端口转发正确,我真的不明白 Docker 网络的必要性。
答案1
您无法使用公共 IP 访问 Jenkins。如果您想公开访问 Jenkins,您需要一个具有静态公共 IP 的 VPS。并且您应该在该 VPS 中安装 Jenkins。
您通过 google 获取的 IP 是您的互联网 IP,而不是服务器 IP。