【问题标题】:Docker Compose up Throws SSL error using Docker MachineDocker Compose 使用 Docker Machine 引发 SSL 错误
【发布时间】:2018-02-28 10:01:37
【问题描述】:

我将我的 Virtualbox VM 连接到我的 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 个结果:herehere。查看提供的解决方案并告诉我们它是否适合您。
  • 我试过了,但没有一个对我有用
  • 你明白了吗?我也遇到了同样的情况,上述结果也对我不起作用。
  • 是 ssl 证书问题。
  • 你是怎么解决的?

标签: docker openssl docker-compose docker-machine


【解决方案1】:

我知道我参加聚会有点晚了,但我刚吃了这个。显然,Docker Compose 没有使用正确的 TLS 版本。您可以通过使用以下环境变量来解决此问题:

COMPOSE_TLS_VERSION=TLSv1_2

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

【讨论】:

    【解决方案2】:

    我有同样的问题,我可以解决更新证书。

    $ 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
    

    有效!

    ps:我在从计算机更改时钟后收到此错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-20
      • 2017-12-18
      • 1970-01-01
      • 2021-08-29
      • 2020-02-10
      • 1970-01-01
      • 1970-01-01
      • 2018-09-04
      相关资源
      最近更新 更多