ошибка тайм-аута для основных команд docker-compose

Я вижу странную проблему, когда основные docker-compose команды, такие как ps и down, истекают по тайм-ауту.

$ docker-compose ps
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).

Нет причин, по которым этот процесс должен занимать около 60 секунд, обычно это занимает менее десяти.

Я нашел запись stackoverflow, где 'docker ps' навсегда зависает после перезапуска сервера но docker ps, похоже, работает нормально, поэтому я думаю, что это конкретно связано с docker-compose. Я также обнаружил несколько других случаев такой же ошибки в Docker Mall, но без решения. и на medium, где единственный совет — увеличить время ожидания, что мне не помогает.

Вот мой файл для создания докеров:

---
version: '3.7'

services:
  assets:
    build:
      context: .
      args:
        NPM_TOKEN: "${NPM_TOKEN}"
        IS_LCL: "TRUE"
    container_name: foobar_assets
    volumes:
      - .:/app:delegated
      - /app/node_modules
      - "${MESSAGING_PATH:-./node_modules/@foobar/baz}:/app/local_modules/@foobar/baz"
    ports:
      - "4005:4005"
      # - "8888:8888"
    env_file:
      - .env
      - .env-overrides
    healthcheck:
      test: curl -f http://localhost:4005/assets-manifest.json && echo 'assets are ready!'
      interval: 2s
      timeout: 1s
      retries: 100
    entrypoint: ['./rsync-entrypoint.sh']
    command: ['/usr/local/bin/npm', 'run', 'dev:assets']
    init: true

  bff:
    build:
      context: .
      args:
        NPM_TOKEN: "${NPM_TOKEN}"
        IS_LCL: "TRUE"
    volumes:
      - .:/app:delegated
      - /app/node_modules
    container_name: foobar_bff
    links:
      - redis
    ports:
      - "4010:4010"
      - "9231:9231"
    env_file:
      - .env
      - .env-overrides
    depends_on:
      - assets
    entrypoint: ['./rsync-entrypoint.sh']
    command: ['/usr/local/bin/npm', 'run', 'dev:server']
    init: true

  redis:
    image: redis:2.8
    container_name: foobar_redis

networks:
  default:
    external:
      name: lcl.foobar.io

Я использую Docker для Mac 2.1.0.3 и пытался перезапустить его, а также весь мой Mac. Это временно решает проблему, но затем она повторяется.


person williamcodes    schedule 14.10.2019    source источник
comment
service docker restart следует перезапустить механизм Docker.   -  person DUDANF    schedule 14.10.2019
comment
Я использую Docker для Mac, поэтому перезапускаю с помощью рабочего стола Docker (v2.1.0.3, если это актуально), но перезапуск не помог.   -  person williamcodes    schedule 14.10.2019
comment
В таком случае вы можете вставить свой файл Dockerfile/docker-compose.yml?   -  person DUDANF    schedule 14.10.2019
comment
@daudnadeem конечно, только что добавил   -  person williamcodes    schedule 14.10.2019
comment
вы уверены, что curl -f http://localhost:4005/assets-manifest.json && echo 'assets are ready!' работает? Из ошибки может показаться, что это тайм-аут.   -  person DUDANF    schedule 14.10.2019