【问题标题】:How to override the default value of COMPOSE_HTTP_TIMEOUT with docker-compose command如何使用 docker-compose 命令覆盖 COMPOSE_HTTP_TIMEOUT 的默认值
【发布时间】:2016-04-07 22:18:50
【问题描述】:

我有 docker-compose,它可以获取一些图像并构建一个。 当我运行 docker-compose up 时,我收到以下错误

错误: HTTP 请求花费了太长时间才能完成。使用 --verbose 重试 获取调试信息。如果您经常遇到此问题 由于网络条件较慢,考虑设置 COMPOSE_HTTP_TIMEOUT 设置为更高的值(当前值:60)。

问题:如何通过COMPOSE_HTTP_TIMEOUTdocker-compose 命令传递?

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    COMPOSE_HTTP_TIMEOUT 是一个环境变量,所以

    COMPOSE_HTTP_TIMEOUT=200 docker-compose up
    

    【讨论】:

    • 这对我不起作用。似乎唯一可行的是将其放在目录的 .env 中。这是我不愿意做的事情,因为许多其他应用程序默认使用 .env 文件。例如工艺 cms。而且我不希望 docker-compose 设置与这些应用程序设置混合
    • 我们在stackoverflow.com/a/38631255/7152658有更多可配置的答案
    • 对我来说效果很好,因为我不需要永久更改,我只是被卡住了一次。
    【解决方案2】:

    您需要在您的 docker 实例级别 (docker-compose up) 使用您的 COMPOSE_HTTP_TIMEOUT,而不是在您的 docker 映像中。所以解决方案是创建一个.env 文件并将其放入:

    #.env
    COMPOSE_HTTP_TIMEOUT=200
    

    您可以查看文档here

    【讨论】:

      【解决方案3】:

      对于 Mac 用户,状态栏图标中的restarting docker 修复了此问题:

      【讨论】:

      【解决方案4】:

      重启泊坞窗

      命令:sudo service docker restart

      然后尝试 docker-compose up

      【讨论】:

        【解决方案5】:

        我最近遇到了这个问题。即使覆盖了默认的 COMPOSE_HTTP_TIMEOUT 值,它对我也不起作用。

        可能的原因如文档Compose CLI environment variables中所述

        COMPOSE_HTTP_TIMEOUT:配置在 Compose 认为失败之前允许对 Docker 守护进程的请求挂起的时间(以秒为单位)。默认为 60 秒。

        从我的 docker-compose 中删除 tty:true 对我有用。

        更多问题详情Compose error "HTTP request took too long to complete" #3633

        Docker 环境详情:

        $ docker-compose version
        
        docker-compose version 1.18.0, build 8dd22a9
        docker-py version: 2.6.1
        CPython version: 2.7.13
        OpenSSL version: OpenSSL 1.0.1t  3 May 2016
        
        
        
        $ docker version
        Client:
         Version:           18.09.1
         API version:       1.39
         Go version:        go1.10.6
         Git commit:        4c52b90
         Built:             Wed Jan  9 19:35:01 2019
         OS/Arch:           linux/amd64
         Experimental:      false
        
        Server: Docker Engine - Community
         Engine:
          Version:          18.09.1
          API version:      1.39 (minimum version 1.12)
          Go version:       go1.10.6
          Git commit:       4c52b90
          Built:            Wed Jan  9 19:06:30 2019
          OS/Arch:          linux/amd64
          Experimental:     false
        

        【讨论】:

          【解决方案6】:

          .env文件中添加这个:COMPOSE_HTTP_TIMEOUT=1000

          【讨论】:

            【解决方案7】:

            打开终端并输入以下命令

            COMPOSE_HTTP_TIMEOUT=200
            

            验证类型

            echo $COMPOSE_HTTP_TIMEOUT
            

            输出:200

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2018-05-22
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-05-05
              • 1970-01-01
              • 2011-12-20
              相关资源
              最近更新 更多