使用Docker Machine时,运行Docker Compose up会抛出SSL错误。

3
我将我的Virtualbox虚拟机连接到了docker机器上。当我在docker机器上执行docker-compose up命令时,出现了以下错误:
ERROR: SSL error: HTTPSConnectionPool(host='192.168.4.20', port=2376): Max retries exceeded with url: /v1.22/info (Caused by SSLError(CertificateError("hostname '192.168.4.20' doesn't match 'localhost'",),))

在谷歌上搜索您的错误,从docker github返回了2个结果:这里这里。请查看提供的解决方案,并告诉我们是否适用于您。 - Aserre
我已经尝试过它们,但是它们都没有对我起作用。 - naveen8577
你解决了吗?我也遇到了同样的问题,之前提到的方法对我也没有用。 - Simon Stastny
SSL证书存在问题。 - naveen8577
你是如何解决的? - Roman Panaget
2个回答

6

我知道可能有点晚,但我刚得到了这个消息。据说Docker Compose没有使用正确的TLS版本。你可以通过设置下面的环境变量来解决:

COMPOSE_TLS_VERSION=TLSv1_2

以下是原始链接:https://stackify.com/docker-environment-variables/


5

我遇到了相同的问题,我通过更新证书来解决了这个问题。

$ docker-compose up -d
ERROR: SSL error: HTTPSConnectionPool(host='192.168.99.100', port=2376): 
Max retries exceeded with url: /v1.30/networks/docker_default 
(Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),))


$ docker network ls
error during connect: Get https://192.168.99.100:2376/v1.40/networks: x509: 
certificate has expired or is not yet valid

需要修复的问题:

$ docker-machine regenerate-certs --client-certs


$ docker-compose up -d
Starting couchdb-dev   ... done
Starting consul-dev    ... done
Starting postgres-dev  ... done
Starting zipkin-dev    ... done
Starting rabbitmq-dev  ... done
Starting oracle-dev    ... done
Starting cassandra-dev ... done

成功!

提示:在电脑上更改时间后,我遇到了这个错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接