20170811

问题描述

  • 使用vagrant+virtualBox构建一个ubuntu虚拟机
  • 在ubuntu虚拟机中使用docker并且启动jenkins容器其中docker-compose的配置如下
image: jenkins
ports:
  - 8088:8088
。。。。
  • 使用vagrant的forwarded_port进行network链接
config.vm.network "forwarded_port", guest: 8088, host: 8088
  • 此时我在localhost访问http://localhost:8088发现出现一直connect到最后以超时结束,却没有看到想要的jenkins界面

解答思路

  • Q1.首先从结果判断,连接超时能说明我们一直在向http://localhost:8088发送请求但是请求没有得到任何的回应能说明什么?

  • A1:先做一些知识补全:

    抛出超时异常的情况通常分为两种:

    • 请求超时:客户端发起请求,但是没有在5s内连接到服务器
    • 响应超时: 请求被服务器处理,但是服务器处理时间超过5s导致超时

    那么可以推断情况必然属于这两种之一。


  • Q2:那么是上面哪一种情况?如果是请求超时,说明没有连接到服务器,为什么不返回404?

  • A2:为了解决第二个问题再补充一些知识:

    抛出404:指的是已经和服务器建立了连接但是服务器返回了404状态码
    超时:压根没有连接到服务器,或者服务器还没处理完啥也没有返回。

    要知道404是服务器返回的。如果要判断这个问题到底是上述哪一种情况。那我们就只能看jenkins容器的log了。发现jenkins容器的log里面竟然没有打印出任何log做出任何反应。那么大约可以推断是没有和服务器建立连接。


  • Q3:那么连接分成两部分,一个是localhost和ubuntu虚拟机的链接,一个是ubuntu虚拟机和docker容器的链接,那么该如何确定
  • A3:那么这个就好判断了,首先在ubuntu中向htpp://localhost:8088curl一条get请求,然后发现,容器任然没有log。基本可以断定,请求的位置没有任何服务。

  • Q4:能说明8088没有服务,那么jenkins服务到底启动在了哪里?
  • A4:回想起当没有对jenkins做配置的时候,jenkins会自动的启动在8080端口,结合查看官网对jnekins镜像的描述发现,官网的范例都是都是将容器中的8080端口暴露出来。继续看官网发现有一个Passing Jenkins launcher parameters部分有个jenkins-optionENV JENKINS_OPTS --httpPort=-1 --httpsPort=8083说明如果没有手动的对jenkins做配置过,那么jenkins服务一定启动在默认端口

  • Q5:那么怎么能说明jenkins的默认端口是8080,并且在容器中一定启动在8080?
  • A5:根据官网描述:
  • Download Jenkins.
  • Open up a terminal in the download directory and run java -jar jenkins.war
  • Browse to http://localhost:8080 and follow the instructions to complete the installation.
  • Many Pipeline examples require an installed Docker on the same computer as Jenkins.

因此在没有做任何配置的时候,jenkins自动启动在8080端口,因此我们将jenkins容器暴露出来的端 口改成8080就可以访问到jenkins了

反思

  • 首先:我发现我在每个东西的时候并没有问自己为什么。就比如我暴露了jenkins容器的8088端口,可是我为什么就8088而不是8080。这就是明显的想的少。
  • 其次:你确定jenkins会默认启动在8080端口,你有什么依据。就是猜想太多,总是想当然,其实自己的知识积累并没有那么多。不会就动手查,非要想想想,还是手懒。
  • 最后:能不能不要手比脑子快,急死忙活的写写写,能不能先想好要干什么,怎么做,再动手,要不然必然造成结果不对了,然后不想为什么不对,然后就试试试。

Action:

  • 以后每干一件事情前必须画图确定目标步骤,复杂的过程必须写清楚设计方式。
  • 每写一行代码,添加注释说明这样写的原因
  • 出现问题,先找出来为什么这样,再查怎么解决,不要着急,找出原因比解决问题更有收获。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容