Docker работает медленно после добавления томов (Wordpress)

Я хотел бы использовать Docker для локальной разработки. Когда я создаю контейнер с Wordpress с помощью Docker Compose, в браузере все загружается очень быстро. Это намного быстрее, чем использовать Local by Flywheel. Проблема в том, что у меня нет доступа к файлам Wordpress. Чтобы получить доступ к этим файлам, я добавил тома в docker-compose.yml:

volumes:
  - ./wp-content:/var/www/html/wp-content

Теперь я могу получить доступ к файлам, но в браузере все загружается так медленно, что использование Docker теряет смысл. Можно ли его как-то ускорить?


person Ivan    schedule 24.10.2020    source источник
comment
Bind mounts (то, что вы используете) спроектированы так, чтобы быть быстрее, чем том. Это не имеет смысла. Возможно, у вас возникла проблема с разногласиями в этой папке/томе вашего хоста. Если вы на линуксе, то можете посмотреть операции ФС с iotop прогой.   -  person davidxxx    schedule 24.10.2020
comment
Спасибо. Время загрузки в браузере что-то около 8с. Я использую Windows 10. Я до сих пор понятия не имею. Теперь я пытаюсь выяснить, связано ли это сообщение каким-либо образом: Docker Desktop обнаружил, что вы поделились файлом Windows в контейнере WSL 2, который может выполнить плохо...   -  person Ivan    schedule 25.10.2020
comment
Вчера я написал docker wordpress tut, в котором моя конфигурация docker-compose.yml создает постоянное локальное сопоставление отдельных папок wp-content, plugins, uploads и т. д. Загрузка всей папки wp-content кажется чрезмерной. Мое пошаговое руководство основано на Mac, поэтому некоторые команды могут немного отличаться. Посмотрите, работает ли моя установка docker-compose.yml для вас... «почему этот том монтируется только для чтения»> stackoverflow.com/questions/64473536/   -  person joshmoto    schedule 25.10.2020


Ответы (1)


Проблема заключается в типе согласованности в объеме. Настройте его как кешированный

services:
    wordpress:

        ...

        volumes:
            - ./data:/data
            - ./scripts:/docker-entrypoint-initwp.d
            #- ./wp-content:/app/wp-content
            - type: bind
              source: ./wp-content
              target: /app/wp-content
              consistency: cached
            #- ./php-conf:/usr/local/etc/php
            - type: bind
              source: ./php-conf
              target: /usr/local/etc/php
              consistency: cached

Подробнее здесь

person molavec    schedule 22.03.2021
comment
Спасибо за совет! Я обязательно попробую когда-нибудь. Кажется, я уже понял, как сделать Wordpress быстрее. Раньше я устанавливал его в файловой системе Windows. Гораздо быстрее установить его на WSL. - person Ivan; 24.03.2021