代码改变世界

windows下docker 启动jenkins成功,浏览器无法访问,拒绝了我们的连接

2019-12-13 15:15  yongchin  阅读(5171)  评论(6编辑  收藏  举报

[问题现象]

在Windows下使用docker启动了一个jenkins,翻越了无数的坑,最后的启动命令为

docker run --name jenkins -u root -p 8000:8000 -d -v /home/jenkins:/var/jenkins_home  jenkins/jenkins

咋一看好像没问题,通过docker logs jenkins也可以看到是启动成功了

 

 

最后通过127.0.0.1:8000无法方程,提示拒绝连接127.0.0.1 拒绝了我们的连接请求。

经过搜索查阅资料,说是docker是在linux环境下运行的,Windows下启动docker本质是会启动一个虚拟机,在虚拟机上启动docker,

所以,这里的ip,也就是宿主机的ip应该是启动的这个虚拟机的ip,输入宿主机的ip 192.168.99.100,仍然无效

 

 

[问题原因]

ip是正确,地址也是没有输错的,防火墙也关了还是不行。最后才一次尝试中发现绑定ip的时候 -p 38080:8080是可以

对此开始产生了怀疑,进行了研究

发现当我们-p 绑定的ip不是8080的时候,会出现8080没有被映射的情况

 

 以此猜测,jenkins在启动服务的时候,是用的8080端口,如果我们不把宿主机的端口映射到8080,就无法进行访问

即:jenkins启动的时候,端口起的是8080,我们要把宿主机的端口隐射到8080

[解决办法]

在启动容器的时候,直接通过-p 映射到8080

docker run --name jenkins -u root -p 8000:8080 -d -v /home/jenkins:/var/jenkins_home  jenkins/jenkins

通过docker ps 可以查看到8000已经映射到了8080

 

此时在浏览器输入192.168.99.100:8000即可打开jenkins页面