2016-02-09 26 views
5

Da all'interno di un contenitore finestra mobile, sto correndoDocker contenitore non si collega a https endpoint

# openssl s_client -connect rubygems.org:443 -state -nbio 2>&1 | grep "^SSL"  

SSL_connect:before/connect initialization 
SSL_connect:SSLv2/v3 write client hello A 
SSL_connect:error in SSLv2/v3 read server hello A 

Questo è tutto quello che ottiene

Non è possibile connettersi a qualsiasi sito https dall'interno del contenitore di finestra mobile. Il contenitore è in esecuzione su un openstack VM. Il vm può connettersi tramite https.

Qualche consiglio?

UPDATE

[email protected]:/# curl -vv https://google.com 
* Rebuilt URL to: https://google.com/ 
* Hostname was NOT found in DNS cache 
* Trying 216.58.217.46... 
* Connected to google.com (216.58.217.46) port 443 (#0) 
* successfully set certificate verify locations: 
* CAfile: none 
    CApath: /etc/ssl/certs 
* SSLv3, TLS handshake, Client hello (1): 

e poi si blocca.

Inoltre, ora sto ottenendo risultati intermittenti.

controlli di integrità:

  • cambiando le ips docker non risolve il problema

  • contenitori finestra mobile lavorare sulla mia macchina locale

  • I contenitori docker lavorare su altre nuvole

  • Docker 1.10.0 non funziona nei VMS

  • Docker 1.9.1 opere nei VMS

+0

correlati: http://help.rubygems.org/discussions/problems/20530-ssl-issues-with-bundlerrubygemsorg-bundle-install-from-inside-of- a-docker-container – Eli

+0

Se si analizza il collegamento correlato sopra, manca qualcosa nella distro docker. certificati ca forse? – user2105103

+0

@Eli Questo non è un problema specifico di Rubygems. Nessuno dei miei contenitori può accedere a qualsiasi sito https. @ user2105103, ho installato i certificati ca, 'apt-get update' si blocca –

risposta

4

mi è stata data una soluzione da parte della rete OpenStack Docker community

sembra utilizzare i valori MTU inferiori e Docker non implica il MTU impostazioni dalla scheda di rete dell'host since 1.10.

Per eseguire daemon finestra mobile con le impostazioni MTU personalizzate, è possibile seguire this blog post, che dice:

$ cp /lib/systemd/system/docker.service /etc/systemd/system/docker.service 

modificare una riga nel nuovo file di simile a questa:

ExecStart=/usr/bin/docker daemon -H fd:// –mtu=1454 

MTU di 1454 è il valore che sembra essere comune con OpenStack. Puoi cercarlo nel tuo host usando ifconfig.

Infine riavviare Docker:

$ sudo systemctl daemon-reload 
$ sudo service docker restart