Docker Compose 请求 (HTTP) 读取超时

jnb*_*bdz 6 docker docker-compose

当我运行这个:

docker-compose --verbose create
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

compose.config.config.find: Using configuration files: ./docker-compose.yml
docker.auth.find_config_file: Trying paths: ['/home/ubuntu/.docker/config.json', '/home/ubuntu/.dockercfg']
docker.auth.find_config_file: No config file found
Traceback (most recent call last):
  File "/usr/local/bin/docker-compose", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", line 68, in main
    command()
  File "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", line 115, in perform_command
    project = project_from_options('.', options)
  File "/usr/local/lib/python2.7/dist-packages/compose/cli/command.py", line 37, in project_from_options
    override_dir=options.get('--project-directory'),
  File "/usr/local/lib/python2.7/dist-packages/compose/cli/command.py", line 99, in get_project
    host=host, environment=environment
  File "/usr/local/lib/python2.7/dist-packages/compose/cli/command.py", line 74, in get_client
    version_info = six.iteritems(client.version())
  File "/usr/local/lib/python2.7/dist-packages/docker/api/daemon.py", line 177, in version
    return self._result(self._get(url), json=True)
  File "/usr/local/lib/python2.7/dist-packages/docker/utils/decorators.py", line 46, in inner
    return f(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/docker/api/client.py", line 189, in _get
    return self.get(url, **self._set_request_timeout(kwargs))
  File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 488, in get
    return self.request('GET', url, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 475, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 596, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 499, in send
    raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=120)
Run Code Online (Sandbox Code Playgroud)

我试图延长时间:

export DOCKER_CLIENT_TIMEOUT=120
export COMPOSE_HTTP_TIMEOUT=120
Run Code Online (Sandbox Code Playgroud)

但显然它没有影响。

我宁愿不分享我的撰写文件。但这是其中的一部分:

version: '2'

services:

  ntpd:
    build: ../../../www/DockerNtpd/alpine
    volumes:
      - ntpd-log:/var/log/ntpd/:rw
    network_mode: host

  consul:
    image: consul
    networks:
      dbs:
        aliases:
          - consul
      apps:
        aliases:
          - consul
    volumes:
      - consul-log:/var/log/consul/:rw
      - consul-conf:/etc/consul/:rw

  vault:
    build: ../../../www/DockerVault/alpine
    depends_on:
      - consul
    volumes:
      - vault-log:/var/log/vault/:rw
    networks:
      dbs:
        aliases:
          - vault
      apps:
        aliases:
          - vault
Run Code Online (Sandbox Code Playgroud)

似乎卡在了 Consul 镜像上:https : //hub.docker.com/_/consul/

我还检查了https://status.docker.com/,它说All Systems Operational

当我为 Docker 使用 Vagrant 配置时,它曾经可以工作。

更多细节:

root      1304  0.0  0.8 110032  8392 ?        Ssl  18:44   0:00 /usr/bin/docker-volume-local-persist
root      3172  0.0  3.9 311140 39004 pts/0    Tl   20:34   0:00 dockerd
root      3179  0.0  0.9 137428  9408 ?        Ssl  20:34   0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc
Run Code Online (Sandbox Code Playgroud)

lsb_release -a

LSB Version:    core-9.20160110ubuntu5-amd64:core-9.20160110ubuntu5-noarch:security-9.20160110ubuntu5-amd64:security-9.20160110ubuntu5-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 17.04
Release:    17.04
Codename:   zesty
Run Code Online (Sandbox Code Playgroud)