Я вижу странную проблему, когда базовые 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 секунд, обычноэто занимает меньше десяти.
Я обнаружил сообщение стека переполнения, где 'docker ps' зависает навсегда после перезапуска сервера , но docker ps
, кажется, работает нормально, так что я думаю, что это определенно связано с докером-compose. Я также нашел несколько других примеров той же ошибки в Docker Mall , но без решения, и в medium , где единственный совет - увеличить время ожидания, что мне не помогает.
Вот мой файл docker-compose:
---
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. Это временно решает проблему, но затем повторяется.