Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60) #3927

Open
bodazhao opened this issue Sep 9, 2016 · 44 comments

Comments

@bodazhao
Copy link

@bodazhao bodazhao commented Sep 9, 2016

Hi since yesterday I've been running into this error while doing docker-compose up

Full Error Message

Device-Tracker $ docker-compose up
Creating device-tracker-db
Creating device-tracker

ERROR: for web  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "compose/cli/main.py", line 61, in main
  File "compose/cli/main.py", line 113, in perform_command
  File "contextlib.py", line 35, in __exit__
  File "compose/cli/errors.py", line 56, in handle_connection_errors
TypeError: log_timeout_error() takes exactly 1 argument (0 given)
docker-compose returned -1

Docker Version
Docker for Mac: 1.12.0-a (Build 11213)
Machine info
MacBook Air (13-inch, Early 2015)
Processor: 1.6 GHz i5
Memory: 4GB 1600 MHz DDR3
macOS: Version 10.11.6 (Build 15G1004)

Attempts

  • Everything still works on colleagues' machine, they are using MacBook Pro
  • Increased Docker CPU from 2 to 3, and 2GB RAM to 3GB, still error
  • Removed All Docker containers & images, and rebuild everything, still error
@bodazhao

This comment has been minimized.

Copy link
Author

@bodazhao bodazhao commented Sep 9, 2016

tried this

export DOCKER_CLIENT_TIMEOUT=120
export COMPOSE_HTTP_TIMEOUT=120

and it seems to fix the issue for now

Other solutions people mentioned in this thread:

  • Restart Docker
  • Increase Docker CPU & memory
@shin-

This comment has been minimized.

Copy link
Contributor

@shin- shin- commented Sep 9, 2016

Does it happen if you turn off your WiFi? Could be related to docker/docker-py#1076.

Another theory, if your service has tty: True enabled, could be #3106

@gvilarino

This comment has been minimized.

Copy link

@gvilarino gvilarino commented Sep 28, 2016

I'm seeing exactly the same problem with latest beta for Mac. Same error if I run docker-compose create

Could this be related to having one very large layer in the image? (a very lengthy npm install operation that takes about a minute to be flattened into a layer when docker builds the image)

@60days

This comment has been minimized.

Copy link

@60days 60days commented Oct 11, 2016

We are also seeing this issue using a docker compose file with 6 containers [docker-compose version 1.8.1, build 878cff1] on both windows and mac [Version 1.12.2-rc1-beta27 (build: 12496)
179c18cae7]

Increasing resources available to docker seems to reduce the chance of it happening (as does extending the timeout vars) , but its never eliminated.

We also have some large-ish layers (240MB is the largest, the main package install command) and we are binding to a host directory with 120MB of files across a couple of containers.

@gvilarino

This comment has been minimized.

Copy link

@gvilarino gvilarino commented Oct 11, 2016

From different attempts at working around this, I found something that might shed some light on a possible fix:

At first my scenario looked a bit like this:

app:
  build: .
  volumes:
    - ${PWD}:/usr/src
    - /usr/src/node_modules

My mounted path included many directories with big, static files that I didn't really need mounted in terms of code reloading. So i ended up swapping for something like this:

app:
  build: .
  volumes:
    - ${PWD}:/usr/src
    - /usr/src/static  # large files in a long dir structure
    - /usr/src/node_modules

This left out of the runtime mounting all my big static files, which made the service start way faster.

What I understand from this is: the more files you mount, especially the larger they are (images in the MBs instead of source files in the Bs/KBs), loading times go up by a lot.

Hope this helps

@WayneYe

This comment has been minimized.

Copy link

@WayneYe WayneYe commented Jun 12, 2017

+1
I am seeing this timeout issue every single week, usually after an idle weekend, while I was trying to connect to me containers, it timed out...
I have to terminate the running docker proc and restart it to work around....

@ALibrada

This comment has been minimized.

Copy link

@ALibrada ALibrada commented Jun 14, 2017

+1
It happens to me every time I try to restart the containers because they are not responding anymore after a day. I'm not sure if my case has to do with the mounting since I am trying to stop the containers.

@luckydonald

This comment has been minimized.

Copy link

@luckydonald luckydonald commented Jun 14, 2017

Happinging with a nginx conatiner, Up 47 hours.
Docker for mac Version 17.03.1-ce-mac12 (17661) Channel: stable d1db12684b.

version: '2.1'
services:
  nginx:
    hostname: web
    extends:
      file: docker/docker-compose.yml
      service: nginx
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./src:/var/www:ro

  php:
    build:
      dockerfile: "./docker/web/php/Dockerfile"
      context: "."
    volumes:
      - ./src:/var/www
$ docker-compose kill nginx
Killing project_nginx_1 ... 

ERROR: for project_nginx_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).
@cherrot

This comment has been minimized.

Copy link

@cherrot cherrot commented Aug 8, 2017

Thanks @gvilarino, I believe the big files mounting is the cause of this issue on my linux server. Your snippet could be a workaround if the big files are not needed in container.

However, I wonder why mounting is slow in Docker? Maybe it triggers disk copy? But why?

@gvilarino

This comment has been minimized.

Copy link

@gvilarino gvilarino commented Aug 9, 2017

@cherrot I wouldn't say I'm extremely proficient in the subject, but I believe this has to do with the storage driver used by Docker and how it works internally for keeping layers in order. Use docker info to see what storage driver your daemon is using (probably aufs, which is the slowest) and depending on your host OS, you may change it so something else (overlay being a better choice, if supported). There are faster alternatives like LCFS but they aren't commercially supported by Docker so you'd be on your own there.

@jcberthon

This comment has been minimized.

Copy link
Contributor

@jcberthon jcberthon commented Aug 11, 2017

We are also seeing this time-out. It seems also due to the volumes we are using.

We need some containers to access some SMB network shares. So we mounted those share on the host system, and bind-mounted them inside the container. But sometimes the communication between the Windows Server and our Linux host is stalled (see https://access.redhat.com/solutions/1360683) and this is blocking the starting or stopping of our container which just time-out after awhile.

I do not have a fix yet. I'm looking for a volume plugin which support SMB, or to make the stall communication problem on SMB going away. but no real solution yet.

@nvaken

This comment has been minimized.

Copy link

@nvaken nvaken commented Apr 12, 2018

FWIW: For the people landing here through search engine finding their resolvement, I've been able to fix this simply by the did you try turning it off and on again? method; I've restarted my Docker Mac OS client.

@Binternet

This comment has been minimized.

Copy link

@Binternet Binternet commented Apr 18, 2018

+1 on that, I am running stress testing on my instance which runs 4 containers and docker hangs even for docker ps -a so i'm trying to restart the containers but i am getting
UnixHTTPConnectionPool(host='localhost', port=None): Read timed out and

Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 9, in <module>
    load_entry_point('docker-compose==1.8.0', 'console_scripts', 'docker-compose')()
  File "/usr/lib/python2.7/dist-packages/compose/cli/main.py", line 61, in main
    command()
  File "/usr/lib/python2.7/dist-packages/compose/cli/main.py", line 113, in perform_command
    handler(command, command_options)
  File "/usr/lib/python2.7/contextlib.py", line 35, in __exit__
    self.gen.throw(type, value, traceback)
  File "/usr/lib/python2.7/dist-packages/compose/cli/errors.py", line 56, in handle_connection_errors
    log_timeout_error()
TypeError: log_timeout_error() takes exactly 1 argument (0 given)

Only if im restarting the docker service it seems to be resolved, any ideas?

@Hyvi

This comment has been minimized.

Copy link

@Hyvi Hyvi commented May 4, 2018

+1

`Restarting web-jenkins_jenkins_1 ...

ERROR: for web-jenkins_jenkins_1 UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=130)
ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 120).`

i restart docker, it solved. but every day i need to restart

@rodrigo-brito

This comment has been minimized.

Copy link

@rodrigo-brito rodrigo-brito commented Jun 11, 2018

restarting Docker works to me.

@jamesdbruner

This comment has been minimized.

Copy link

@jamesdbruner jamesdbruner commented Jun 15, 2018

+1 restarting docker worked for me as well.

@rafaelmagu

This comment has been minimized.

Copy link

@rafaelmagu rafaelmagu commented Jun 18, 2018

I encountered this issue while building a substantially large Docker image and then attempting to push it to a remote registry. Restarting Docker wasn't an applicable solution, but @bodaz' answer addressed it for me: #3927 (comment)

@SalathielGenese

This comment has been minimized.

Copy link

@SalathielGenese SalathielGenese commented Jul 4, 2018

@rodrigo-brito - I've been getting this error for a little while now and restarting docker deamon have been solving the issue - no more since I added another service to my project.

@bjesuiter

This comment has been minimized.

Copy link

@bjesuiter bjesuiter commented Jul 10, 2018

I have the same problem, but I have a fairly simple setup.
I've only one verdaccio 3 container based on an image with 164 MB in size.
This is very disappointing :/

I'm using a MBP Pro 13 from 2015

@ericiper

This comment has been minimized.

Copy link

@ericiper ericiper commented Jul 19, 2018

Happened to me because of a large port range, it actually creates one rule per port....

@ofekp

This comment has been minimized.

Copy link

@ofekp ofekp commented Oct 6, 2018

A simple sudo service docker restart solves this for me consistently every time it occurs.

@trajano

This comment has been minimized.

Copy link

@trajano trajano commented Nov 20, 2018

Just happened to me as well, in my case docker-compose push (not even trying to run the app) on Azure DevOps.

My other builds do not use docker-compose but plain docker push

@AAber

This comment has been minimized.

Copy link

@AAber AAber commented Nov 21, 2018

I removed the kubuntu 18.04.1 docker.io version of docker and installed docker-ce 18.09.0
Problem went away.

@trajano

This comment has been minimized.

Copy link

@trajano trajano commented Nov 21, 2018

I just converted the docker-compose push step into individual pushes instead.

@ns-cweber

This comment has been minimized.

Copy link

@ns-cweber ns-cweber commented Nov 29, 2018

We're seeing this timeout when running a container via docker-compose or via the docker-py library (times out even after we bump the timeout to 2 minutes); however, we don't see the error when we run via the Docker CLI (container starts instantly). We also only see the issue on a Linux CI server and not on our Macs. We're working on building out a minimal reproducible example.

@hazcod

This comment has been minimized.

Copy link

@hazcod hazcod commented Dec 31, 2018

Having this issue with a docker-compose kill on a debian VM on macos host, install straight from docker. (Docker version 18.09.0, build 4d60db4)

@levonet

This comment has been minimized.

Copy link

@levonet levonet commented Mar 20, 2019

I had the same error when starting docker with log-driver: syslog when rsyslog port was unavailable.
Error starting container 0ba2fb9540ec6680001f90dce56ae3a04b831c8146357efaab79d4756253ec8b: UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)

@mlensment

This comment has been minimized.

Copy link

@mlensment mlensment commented Mar 22, 2019

restarting Docker works to me.

@rodrigo-brito restarting is not a solution...

@pylanglois

This comment has been minimized.

Copy link

@pylanglois pylanglois commented Mar 27, 2019

Happened to me because of a large port range, it actually creates one rule per port....

Exact same thing for me. After the error, docker daemon continue to eat memory until depletion. I need to systemctl stop docker before my system die. (Docker version 18.09.3, build 774a1f4)

    ports:
      - "10000-20000:10000-20000"
@maikusch

This comment has been minimized.

Copy link

@maikusch maikusch commented Mar 30, 2019

simple restart of docker solved this for me...

@titpetric

This comment has been minimized.

Copy link

@titpetric titpetric commented May 30, 2019

It seems the issue is still present in recent docker-ce versions. I'm starting ~5 containers, with the slow one having a docker volume mount that's pointing to a NFS share. No containers expose any port, did somebody figure out if this is a valid error (port=None seems suspicious)?

Client:
 Version:           18.09.5
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        e8ff056dbc
 Built:             Thu Apr 11 04:44:28 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.5
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       e8ff056
  Built:            Thu Apr 11 04:10:53 2019
  OS/Arch:          linux/amd64
  Experimental:     false
@titpetric

This comment has been minimized.

Copy link

@titpetric titpetric commented May 30, 2019

Added some more output from --verbose. I don't think there's anything of use here, it just says for a long time that some container create operation is waiting for a long time. Apparently it's using polling, as the following message is printed about 1x/sec:

compose.parallel.feed_queue: Pending: set()

The localhost / port=Node is a bit of a red herring I think, as the connection is done with docker.sock, so it's not some nil error hidden away somewhere. I think this will need to be tracked down inside docker, not that docker-compose handling of this request here is optimal.

Docker-compose seems to be missing some sort of request id which could be logged, so we would know which request is stalling. For example, I know that my api container wasn't able to be created within the timeout, but the request log isn't helping at all. Maybe somebody else can add some info here:

urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/containers/create?name=api-memcache HTTP/1.1" 201 90
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/networks/proxy/disconnect HTTP/1.1" 200 0
compose.cli.verbose_proxy.proxy_callable: docker create_container -> {'Id': '22b774d0451c7aea118ba928a9a87177be09e63286f1d4eeaf009ddfe3c4c44f',
 'Warnings': None}
compose.cli.verbose_proxy.proxy_callable: docker disconnect_container_from_network -> None
compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- ('22b774d0451c7aea118ba928a9a87177be09e63286f1d4eeaf009ddfe3c4c44f')
compose.cli.verbose_proxy.proxy_callable: docker connect_container_to_network <- ('ba67095c5ea718af13a09798bc2f5ab24f5d0b54ce684b6f4cb248ab705df900', 'proxy', aliases=['redis', 'ba67095c5ea7'], ipv4_address=None, ipv6_address=None, links=[], link_local_ips=None)
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/containers/22b774d0451c7aea118ba928a9a87177be09e63286f1d4eeaf009ddfe3c4c44f/json HTTP/1.1" 200 None
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/containers/create?name=api HTTP/1.1" 201 90
compose.cli.verbose_proxy.proxy_callable: docker create_container -> {'Id': '1b67251d494199cfd4ba9855f20d41b6b0be8544757c2d5d416a90d044f4d0ec',
 'Warnings': None}
compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- ('1b67251d494199cfd4ba9855f20d41b6b0be8544757c2d5d416a90d044f4d0ec')
compose.parallel.feed_queue: Pending: set()
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/networks/proxy/disconnect HTTP/1.1" 200 0
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/networks/proxy/connect HTTP/1.1" 200 0
compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> JSON...
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/containers/1b67251d494199cfd4ba9855f20d41b6b0be8544757c2d5d416a90d044f4d0ec/json HTTP/1.1" 200 None
compose.cli.verbose_proxy.proxy_callable: docker disconnect_container_from_network -> None
compose.cli.verbose_proxy.proxy_callable: docker connect_container_to_network -> None
compose.cli.verbose_proxy.proxy_callable: docker disconnect_container_from_network <- ('22b774d0451c7aea118ba928a9a87177be09e63286f1d4eeaf009ddfe3c4c44f', 'proxy')
compose.cli.verbose_proxy.proxy_callable: docker connect_container_to_network <- ('7d81ef23610f1b8f7ac95837cbf6c9eef977b5b0846fea24be5c7054e471df39', 'proxy', aliases=['comments', '7d81ef23610f'], ipv4_address=None, ipv6_address=None, links=[], link_local_ips=None)
compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> JSON...
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/containers/create?name=api-comments-db HTTP/1.1" 201 90
compose.cli.verbose_proxy.proxy_callable: docker start <- ('ba67095c5ea718af13a09798bc2f5ab24f5d0b54ce684b6f4cb248ab705df900')
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.cli.verbose_proxy.proxy_callable: docker disconnect_container_from_network <- ('1b67251d494199cfd4ba9855f20d41b6b0be8544757c2d5d416a90d044f4d0ec', 'proxy')
compose.cli.verbose_proxy.proxy_callable: docker create_container -> {'Id': 'ff8c5cc4cb87ba04aca3be5fcd3c6adcd08f5f4e6de5680857cbab37fd3027af',
 'Warnings': None}
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/networks/proxy/disconnect HTTP/1.1" 200 0
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/networks/proxy/connect HTTP/1.1" 200 0
compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- ('ff8c5cc4cb87ba04aca3be5fcd3c6adcd08f5f4e6de5680857cbab37fd3027af')
compose.cli.verbose_proxy.proxy_callable: docker disconnect_container_from_network -> None
compose.parallel.feed_queue: Pending: set()
compose.cli.verbose_proxy.proxy_callable: docker connect_container_to_network -> None
compose.cli.verbose_proxy.proxy_callable: docker connect_container_to_network <- ('22b774d0451c7aea118ba928a9a87177be09e63286f1d4eeaf009ddfe3c4c44f', 'proxy', aliases=['memcache', '22b774d0451c'], ipv4_address=None, ipv6_address=None, links=[], link_local_ips=None)
compose.parallel.feed_queue: Pending: set()
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/containers/ff8c5cc4cb87ba04aca3be5fcd3c6adcd08f5f4e6de5680857cbab37fd3027af/json HTTP/1.1" 200 None
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/networks/proxy/disconnect HTTP/1.1" 200 0
compose.cli.verbose_proxy.proxy_callable: docker start <- ('7d81ef23610f1b8f7ac95837cbf6c9eef977b5b0846fea24be5c7054e471df39')
compose.parallel.feed_queue: Pending: set()
compose.cli.verbose_proxy.proxy_callable: docker disconnect_container_from_network -> None
compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> JSON...
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/networks/proxy/connect HTTP/1.1" 200 0
compose.cli.verbose_proxy.proxy_callable: docker connect_container_to_network <- ('1b67251d494199cfd4ba9855f20d41b6b0be8544757c2d5d416a90d044f4d0ec', 'proxy', aliases=['api', '1b67251d4941'], ipv4_address=None, ipv6_address=None, links=[], link_local_ips=None)
compose.cli.verbose_proxy.proxy_callable: docker disconnect_container_from_network <- ('ff8c5cc4cb87ba04aca3be5fcd3c6adcd08f5f4e6de5680857cbab37fd3027af', 'proxy')
compose.cli.verbose_proxy.proxy_callable: docker connect_container_to_network -> None
compose.cli.verbose_proxy.proxy_callable: docker start <- ('22b774d0451c7aea118ba928a9a87177be09e63286f1d4eeaf009ddfe3c4c44f')
compose.parallel.feed_queue: Pending: set()
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/networks/proxy/disconnect HTTP/1.1" 200 0
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/networks/proxy/connect HTTP/1.1" 200 0
compose.cli.verbose_proxy.proxy_callable: docker disconnect_container_from_network -> None
compose.cli.verbose_proxy.proxy_callable: docker connect_container_to_network -> None
compose.cli.verbose_proxy.proxy_callable: docker connect_container_to_network <- ('ff8c5cc4cb87ba04aca3be5fcd3c6adcd08f5f4e6de5680857cbab37fd3027af', 'proxy', aliases=['ff8c5cc4cb87', 'comments-db'], ipv4_address=None, ipv6_address=None, links=[], link_local_ips=None)
compose.cli.verbose_proxy.proxy_callable: docker start <- ('1b67251d494199cfd4ba9855f20d41b6b0be8544757c2d5d416a90d044f4d0ec')
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/networks/proxy/connect HTTP/1.1" 200 0
compose.cli.verbose_proxy.proxy_callable: docker connect_container_to_network -> None
compose.cli.verbose_proxy.proxy_callable: docker start <- ('ff8c5cc4cb87ba04aca3be5fcd3c6adcd08f5f4e6de5680857cbab37fd3027af')
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
...
-- omitted ~30 lines
...
Creating api-comments    ... done
compose.cli.verbose_proxy.proxy_callable: docker start -> None
compose.parallel.parallel_execute_iter: Finished processing: ServiceName(project='api', service='comments', number=1)
compose.parallel.feed_queue: Pending: set()
compose.parallel.parallel_execute_iter: Finished processing: <Service: comments>
compose.parallel.feed_queue: Pending: set()
Creating api-memcache    ... done
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/containers/22b774d0451c7aea118ba928a9a87177be09e63286f1d4eeaf009ddfe3c4c44f/start HTTP/1.1" 204 0
compose.cli.verbose_proxy.proxy_callable: docker start -> None
compose.parallel.parallel_execute_iter: Finished processing: ServiceName(project='api', service='memcache', number=1)
compose.parallel.feed_queue: Pending: set()
compose.parallel.parallel_execute_iter: Finished processing: <Service: memcache>
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/containers/ff8c5cc4cb87ba04aca3be5fcd3c6adcd08f5f4e6de5680857cbab37fd3027af/start HTTP/1.1" 204 0
compose.cli.verbose_proxy.proxy_callable: docker start -> None
Creating api-comments-db ... done
compose.parallel.feed_queue: Pending: set()
compose.parallel.parallel_execute_iter: Finished processing: <Service: comments-db>
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
compose.parallel.feed_queue: Pending: set()
-- omitted ~15 lines
Creating api-redis       ... done
compose.parallel.feed_queue: Pending: set()
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/containers/ba67095c5ea718af13a09798bc2f5ab24f5d0b54ce684b6f4cb248ab705df900/start HTTP/1.1" 204 0
compose.cli.verbose_proxy.proxy_callable: docker start -> None
compose.parallel.parallel_execute_iter: Finished processing: ServiceName(project='api', service='redis', number=1)
compose.parallel.feed_queue: Pending: set()
compose.parallel.parallel_execute_iter: Finished processing: <Service: redis>
compose.parallel.feed_queue: Pending: set()
---
-- omitted 100+ lines
compose.parallel.parallel_execute_iter: Failed: ServiceName(project='api', service='api', number=1)
compose.parallel.feed_queue: Pending: set()

ERROR: for api  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
compose.parallel.parallel_execute_iter: Failed: <Service: api>
compose.parallel.feed_queue: Pending: set()

ERROR: for api  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
compose.cli.errors.log_timeout_error: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).
@Joeordie

This comment has been minimized.

Copy link

@Joeordie Joeordie commented Jun 4, 2019

@titpetric can confirm I'm also having this issue.

@titpetric

This comment has been minimized.

Copy link

@titpetric titpetric commented Jun 4, 2019

IMHO this issue is on docker side, not on docker-compose side. Somebody should turn on debug logging on the docker deamon and pin point out the delays there, and file an issue upstream. I'm not sure one might reproduce this easily without that.

If someone is willing to put in the time, I'd suggest to replicate this by creating a fully loaded folder for a volume mount (something with about a 100000+ files/folders should do), to see if a reliable reproduction of the issue can be achieved. It's likely that the docker daemon, or the kernel bind mount itself, caches some of the inode data beforehand. Which... is unfortunate.

A tcpdump might also confirm this in case of a network filesystem (samba, nfs).

@jonnysandu

This comment has been minimized.

Copy link

@jonnysandu jonnysandu commented Jun 25, 2019

Same exact error here

ERROR: for docker_async_worker__local_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=70)

ERROR: for docker_elasticsearch__local_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=70)

ERROR: for docker_web__local_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=70)

Docker restarting also fixed it for me.

@KleinYuan

This comment has been minimized.

Copy link

@KleinYuan KleinYuan commented Jun 28, 2019

Restart is not a fix guys.....
How to avoid this for good?

@singhrajgithub

This comment has been minimized.

Copy link

@singhrajgithub singhrajgithub commented Jul 18, 2019

Facing the same issue. Getting below error for all docker containers of the organization peers :

ERROR: for DNS UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)

Is it because of some port mismatch or assignment in the compose file?

@alexmacavei

This comment has been minimized.

Copy link

@alexmacavei alexmacavei commented Aug 2, 2019

Yep, constantly running into this issue myself. I agree restarting is not a solution, but nothing else seems to do the trick :/

@titpetric

This comment has been minimized.

Copy link

@titpetric titpetric commented Aug 2, 2019

@grendach

This comment has been minimized.

Copy link

@grendach grendach commented Aug 27, 2019

I'm also facing this issue :(
UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)

@bitbrain

This comment has been minimized.

Copy link

@bitbrain bitbrain commented Oct 4, 2019

Same issue here, also restarting Docker actually hangs. The only way is to kill Docker/or restart but that can't be the solution.

@singhrajgithub

This comment has been minimized.

Copy link

@singhrajgithub singhrajgithub commented Oct 4, 2019

@bitbrain yup this has been happening to me as well for quite some time.

@bitbrain

This comment has been minimized.

Copy link

@bitbrain bitbrain commented Oct 4, 2019

I found a neat solution to this (on MacOS)

The reason why this kept happening to me was that Docker had to little memory available.

Screenshot 2019-10-04 at 15 33 54

Increasing the memory from 2GB up to 8GB solved the issue for me.

@abaldwin88

This comment has been minimized.

Copy link

@abaldwin88 abaldwin88 commented Dec 4, 2019

I was getting this error after running docker-compose up and then docker-compose down a couple times. I tried everything in this thread. Bumping the resources, restarting my mac and reinstalling the latest Docker. I could get docker-compose up running again after rebooting my box but after cycling those commands a few times it would go back to this error and I couldn't get docker-compose up to run.

My issue appears to have been a conflict with another service (pow) that was binding to port 80 when one of my containers was also binding to port 80. I uninstalled pow and have not had a problem for three days now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.