簡體   English   中英

Jenkins 無法卷曲到 docker 容器上的 http 端點主機

[英]Jenkins cannot curl to a http endpoint host on a docker container

我正在嘗試構建一個 docker 容器並使用 jenkins 對同一個構建的容器運行我的集成測試。

我目前遇到的問題是我可以構建和運行容器,當我嘗試對 http 端點進行 curl 時,我收到連接拒絕。 所以我相信這與我的 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

如果您執行 docker run,服務器啟動可能需要一些時間,但您會立即嘗試連接。 還可能的原因是防火牆阻止了請求、您服務器的 IP 地址不是靜態的或 docker 服務本身失敗。 沒有足夠的信息來得出結論性的答案。

只需在執行 curl 之前添加延遲(或在 curl cmd 中添加重試):docker 不會那么快地加載容器:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM