Jenkins无法卷曲到docker容器

时间:2017-09-06 09:57:09

标签: curl docker jenkins centos

我正在尝试构建一个docker容器,并使用jenkins对同一个构建的容器运行我的集成测试。

我目前遇到的问题是我可以构建并运行容器,当我尝试对http端点进行卷曲时,我得到连接拒绝。所以我认为这与我的jenkins slave配置有关。我已将jenkins用户添加到wheel docker jenkins组,当我运行以jenkins记录的curl命令时,它可以正常工作。但是当我从jenkins运行它时,我得到一个连接拒绝。

    JenkinsFile 
    sh "docker build -t my-service ."
    sh "docker rm -f my-service || true"
    sh "docker run -d -p 9091:5000 -p 1433:1433 --name=my-service my-service"
    sh "docker ps"
    sh "curl -v http://172.16.32.20:9091/api/products/"

詹金斯输出

+ curl -v http://172.16.32.20:9091/api/products/baggingoptions
* About to connect() to 172.16.32.20 port 9091 (#0)
*   Trying 172.16.32.20...
% Total    % Received % Xferd  Average Speed   Time    Time     Time  
 Current
                             Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     
  0* Connection refused
  * Failed connect to 172.16.32.20:9091; Connection refused
  * Closing connection 0
 curl: (7) Failed connect to 172.16.32.20:9091; Connection refused

奴隶信息:

Static hostname: **************************
     Icon name: computer-vm
       Chassis: vm
    Machine ID: 009cdec7fded4740be96692dfee788c0
       Boot ID: fe492def29c047bf910c213911fda980
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
   CPE OS Name: cpe:/o:centos:centos:7
        Kernel: Linux 3.10.0-514.26.2.el7.x86_64
  Architecture: x86-64

2 个答案:

答案 0 :(得分:0)

如果您执行docker运行,服务器启动可能需要一些时间,但您会立即尝试连接。另外可能的原因是防火墙阻止请求,服务器的IP地址不是静态的,或者docker服务本身失败。没有足够的信息可以得出确凿的答案。

答案 1 :(得分:-1)

只需在执行 curl 之前添加延迟(或在 curl cmd 中添加重试):docker 不会那么快地加载容器:)