@Viktimius
js developer

Как отладить медленное выполнение запросов между docker-контейнерами и основной системой, и между docker-контейнерами?

Есть проблема с конфигурацией докер на windows 10 - запросы выполняются около 5-6 секунд, хотя в общем база пустая, несколько справочников и минимальный набор данных, при этом на linux системах все работает быстро.

конфиг докера

61928e6fe523f113714534.jpeg


docker-compose

version: '2'
services:

  rabbitmq:
    image: rabbitmq:latest
    restart: always
    networks:
      - front_bridge
    ports:
      - "5671"
      - "5672"

  postgres_test:
    image: ********:postgres-test
    restart: always
    networks:
      - front_bridge
    ports:
      - "32799:5433"

  postgres_history:
    image: ********:postgres-dev-2
    restart: always
    networks:
      - front_bridge
    ports:
      - "32798:5432"

  postgres_report:
    image: ********:postgres-dev-2
    restart: always
    networks:
      - front_bridge
    ports:
      - "32797:5432"

  postgres_oms:
    image: ********:postgres-dev-1
    restart: always
    volumes:
      - ../dlvr:/oms
    links:
      - postgres_history
      - postgres_report
      - postgres_test
    networks:
      - front_bridge
    ports:
      - "32800:5432"

  nginxoms:
    image: ********:nginxoms-v2
    volumes:
      - ../dlvr:/oms
    links:
      - postgres_oms
      - php_oms
      - postgres_test
    ports:
      - "8000:8080"
    networks:
      - front_bridge
    restart: always

  php_oms:
    image: ********:php-fpm-v21-mail-git
    restart: always
    volumes:
      - ../dlvr:/oms
    networks:
      - front_bridge
    ports:
      - "587:587"
    environment:
      - environment=oms

  postgres_cc:
    image: **********:postgres-dev-1
    restart: always
    volumes:
      - ../contact-center:/cc
    networks:
      - front_bridge
    ports:
      - "32787:5432"

  nginxcc:
    image: ********:nginxcc-v2
    volumes:
      - ../contact-center:/cc
    links:
      - postgres_cc
      - php_cc
      - postgres_test
    ports:
      - "8002:8080"
    networks:
      - front_bridge
    restart: always

  php_cc:
    image: ********:php-fpm-v21-git
    links:
      - postgres_cc
      - postgres_history
      - postgres_report
      - postgres_test
    restart: always
    volumes:
      - ../contact-center:/cc
    networks:
      - front_bridge
    ports:
      - "9000"
    environment:
      - environment=cc

  postgres_rest:
    image: ********:postgres-dev-1
    restart: always
    volumes:
      - ../restaurant:/restaurant
    networks:
      - front_bridge
    ports:
      - "32786:5432"

  nginxrest:
    image: ********:nginxrest-v2
    volumes:
      - ../restaurant:/restaurant
    links:
      - postgres_rest
      - php_rest
      - postgres_test
    ports:
      - "8001:8080"
    networks:
      - front_bridge
    restart: always

  php_rest:
    image: ********:php-fpm-v21-git
    links:
      - postgres_rest
      - postgres_history
      - postgres_report
      - postgres_test
    restart: always
    volumes:
      - ../restaurant:/restaurant
    networks:
      - front_bridge
    ports:
      - "9000"
    environment:
      - environment=restaurant

networks:
  front_bridge:
    driver: bridge
volumes:
  restvolume:
  ccvolume:
  omsvolume:

  • Вопрос задан
  • 232 просмотра
Решения вопроса 1
@sl0
Ох уж эти советчики перехода на линукс.
Обычная проблема, когда файлы физически лежат в файловой системе винды. Перенесите их внуть wsl, чтобы они были доступны через \\wsl$\Ubuntu-20.04 (или какой там дистриб стоит). Тогда проблема исчезнет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@inFureal
Тоже с этим сталкивался. Проблема в wsl2. А именно в файловой системе windows. Уже есть куча issue в основном репо.
Пока что вариант перейти на HyperV. Если не доступно - страдать
Ответ написан
Комментировать
@rPman
примите как данность, docker - дитя linux, и на windows его портировали как получится, не со зла, а исключительно из-за того что windows сложная система и песочницу там запилить реально не просто.

разработчикам, а точнее девопсам, реально проще живется на linux, особенно когда работаешь с открытым кодом (а подавляющее большинство библиотек так или иначе это foss), советую не мучиться наконец и начать работать в linux

майкрософт это давно понимает и поэтому запилили wsl, ибо это способ хоть как то удержать главное, что определяет, на какими операционными системами будут пользоваться люди в конце концов - developers developers developers!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы