簡體   English   中英

Docker中的Docker - SSL問題

[英]Docker In Docker - SSL problems

我在CI管道中使用Docker In Docker for Jenkins Slaves。

我遇到過有關SSL的問題。 問題是maven無法訪問位於我們Nexus倉庫中的工件,它只是掛起。

我嘗試使用curl進行調試。

在DinD容器內,一切都很好:

$ curl -I https://www.google.com
HTTP/1.1 200 OK

但是,如果我運行:

bash-4.3# curl -I --insecure  https://nexus.eng.myco.com/nexus
curl: (35) Unknown SSL protocol error in connection to nexus.eng.myco.com:443`

它掛了很長時間然后我收到這個錯誤:

curl: (35) Unknown SSL protocol error in connection to nexus.eng.myco.com:443`

我可以運行有問題的curl語句一級(運行問題docker容器的docker容器),一切都很好。

我應該注意,如果我在我的筆記本電腦上運行有問題的DinD容器(不是在DinD中),它沒有問題。

使用調試信息更新:

bash-4.3#  curl -v -I https://nexus.eng.myco.com/nexus/content/groups/this>
*   Trying 54.164.137.27...
* Connected to nexus.eng.my.com (44.164.137.27) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):

有任何想法嗎?

可能現在回答已經太晚了,但我會把它放在這里以防其他有類似問題的陌生人。
我建議檢查父母和子容器中的MTU。

ip addr | grep mtu

如果你看到MTU的差異
例如

3: eth0@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1402 qdisc noqueue state UP group default
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default

它需要被糾正為相同。
例如

ip link set dev eth0 mtu 1500

暫無
暫無

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

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