小Pawn爷 2023-04-09 22:56 采纳率: 0%
浏览 32

虚拟上启动的jenkins容器无法通过Windows主机上的浏览器直接访问

问题:
为什么使用bridge模式不能使用window主机访问虚拟机IP:8089端口直接访问虚拟机容器
背景:
使用docker-compose中的bridge模式并且做了8089:8080的端口映射在虚拟机上启动Jenkins容器,容器正常启动,无防火墙,
现象:
使用curl 虚拟机IP:8089端口能正常访问,但是使用window主机访问虚拟机IP:8089端口失败
把docker-compose的模式改host在windows主机上使用虚拟机IP:端口即可访问

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2023-04-10 08:46
    关注

    以下内容部分参考ChatGPT模型:


    问题的原因是在bridge模式下,容器的IP地址是在虚拟网络中,无法直接从Windows主机访问。需要在Windows主机上安装Docker客户端,并使用客户端连接到虚拟机中运行的Docker引擎,然后使用Docker客户端的端口映射功能将容器的端口映射到Windows主机上,这样就可以通过Windows主机访问容器了。

    具体操作步骤如下:

    1. 在虚拟机上启动Docker引擎,并在Docker中启动Jenkins容器,使用默认的bridge网络模式,并将容器的端口映射到宿主机上:
    docker run -p 8089:8080 jenkins/jenkins:lts
    
    1. 在Windows主机上安装Docker客户端,并使用Docker客户端连接到虚拟机中运行的Docker引擎:
    docker -H ssh://user@192.168.0.100:2375 ps
    

    其中,user是在虚拟机中具有Docker访问权限的用户,192.168.0.100是虚拟机的IP地址,2375是Docker引擎的API端口号。

    1. 在Windows主机上使用Docker客户端的端口映射功能将容器的端口映射到Windows主机上:
    docker -H ssh://user@192.168.0.100:2375 run -p 8089:8080 jenkins/jenkins:lts
    

    其中,8089是Windows主机上的端口号,8080是容器的端口号。

    1. 现在就可以通过Windows主机上的浏览器访问Jenkins容器了:
    http://localhost:8089
    

    如果我的建议对您有帮助、请点击采纳、祝您生活愉快

    评论

报告相同问题?

问题事件

  • 创建了问题 4月9日

悬赏问题

  • ¥15 mmo能不能做客户端怪物
  • ¥15 osm下载到arcgis出错
  • ¥15 Dell g15 每次打开eiq portal后3分钟内自动退出
  • ¥200 使用python编写程序,采用socket方式获取网页实时刷新的数据,能定时print()出来就行。
  • ¥15 matlab如何根据图片中的公式绘制e和v的曲线图
  • ¥15 我想用Python(Django)+Vue搭建一个用户登录界面,但是在运行npm run serve时报错了如何解决?
  • ¥15 QQ邮箱过期怎么恢复?
  • ¥15 登录他人的vue项目显示服务器错误
  • ¥15 (标签-android|关键词-app)
  • ¥15 comsol仿真压阻传感器