Рейтинг:0

Docker — ubuntu 21.04 — низкая загрузка ЦП хоста

флаг us

Я запускаю приложение LAMP, используя docker compose в Ubuntu 21.04. Приложение очень медленное.

Проверяя статистику докера, я вижу, что процент использования ЦП при загрузке страницы большую часть времени составляет около 0,01 *%, за исключением нескольких всплесков, которые, к сожалению, длятся несколько секунд, когда использование ЦП достигает более высокий процент (около 20% - 30%).

Информация о докере:

ПРЕДУПРЕЖДЕНИЕ. Ошибка при загрузке файла конфигурации: .dockercfg: $HOME не определен.
Клиент:
Контекст: по умолчанию
Режим отладки: ложь

Сервер:
Контейнеры: 13
 Бег: 3
 Приостановлено: 0
 Остановлено: 10
Изображения: 34
Версия сервера: 19.03.13
Драйвер хранилища: overlay2
 Резервная файловая система: extfs
 Поддерживает d_type: правда
 Нативное оверлейное различие: правда
Драйвер ведения журнала: json-файл
Драйвер группы: cgroupfs
Плагины:
 Объем: местный
 Сеть: хост-мост ipvlan macvlan null overlay
 Журнал: awslogs fluentd gcplogs gelf journald json-file localentries splunk syslog
Рой: неактивен
Время выполнения: runc
Среда выполнения по умолчанию: runc
Двоичный файл инициализации: docker-init
версия containerd: 8fba4e9a7d01810a393d5d25a3621dc101981175
версия запуска: 
версия инициализации: fec3683
Параметры безопасности:
 одежда
 секкомп
  Профиль: по умолчанию
Версия ядра: 5.11.0-22-универсальная
Операционная система: Ubuntu Core 18
Тип ОС: линукс
Архитектура: x86_64
Процессоры: 8
Общая память: 15,36 ГБ
Имя: Фабрицио-XPS-13-9305
ID: C7F4:H3BH:6S65:I24Q:PJ4W:EEBN:SXMH:V2GN:B67C:XYUL:R56O:5AKX
Корневой каталог Docker: /var/snap/docker/common/var-lib-docker
Режим отладки: ложь
Реестр: https://index.docker.io/v1/
Ярлыки:
Экспериментальный: ложь
Небезопасные реестры:
 127.0.0.0/8
Динамическое восстановление включено: false

Вот файл docker-compose.yml:

версия: '3'
Сервисы:
  апач:
    зависит от:
      - мариадб
    строить:
      контекст: .
      докерфайл: apache/dockerfile
      аргументы:
        URL: 'fp.example.com'
    среда:
      - URL=fp.example.com
    изображение: апач
    порты:
      - "80:80"
      - "443:443"
    тома:
      - ../fp.example:/var/www/fp.example
      - ./журналы/апач:/вар/лог/апач2
    ссылки:
      - mariadb:база данных"
      - солр:солр"

  мариадб:
    изображение: mariadb:10,5-фокусное
    порты:
      - "3306:3306"
    тома:
      - ./mysql:/var/lib/mysql
    среда:
      MYSQL_ROOT_PASSWORD: ***********
      MYSQL_DATABASE: *********
      MYSQL_USER: ***********
      MYSQL_ПАРОЛЬ: ***********
  решение:
    изображение: соль: 8
    порты:
      - "8983:8983"
    тома:
      - ./солр:/вар/солр


Вот мой apache Dockerfile:

ИЗ убунту: 20.04

LABEL Description="Ubuntu Lamp [APACHE PHP MYSQL]" \
    Лицензия="Лицензия Apache 2.0" \
    Использование="" \
    Версия = "1.0"

URL-адрес АРГ

ENV ТЕРМИН=xterm\
    TZ=Европа/Берлин\
    DEBIAN_FRONTEND=неинтерактивный

RUN apt-получить обновление
#RUN apt-get upgrade -y

RUN apt-get install -y --fix-missing \
    смола \
    почтовый индекс \
    распаковать \
    сед \
    нано \
    апач2 \
    libapache2-mod-php \
    php \
    php-кли \
    php-общий \
    php-dev \
    php-fpm \
    php-gd \
    php-json \
    php-mbstring \
    php-mysql\
    php-readline \
    php-мыло \
    php-аккуратный \
    php-xdebug \
    php-xmlrpc \
    php-zip \
    композитор
# -- ВИШНЯ -- #

ЗАПУСК mkdir /var/www/$URL
RUN chown -R www-data:www-data /var/www/$URL

КОПИРОВАТЬ /apache/apache.conf /etc/apache2/сайты-доступны/
КОПИРОВАТЬ /apache/php.ini /etc/php/7.4/apache2/
КОПИРОВАТЬ /apache/cert/myCA.crt /usr/local/share/ca-certificates/
КОПИРОВАТЬ /apache/сертификат/crt /etc/apache2/ssl/
КОПИРОВАТЬ /apache/сертификат/ключ /etc/apache2/ssl/

# -- ОБЪЕМЫ -- #
ОБЪЕМ /var/www/$URL
ТОМ /var/журнал/apache2


#АПАЧ
ЗАПУСК a2enmod переписать
ЗАПУСК a2enmod ssl
ЗАПУСК a2dissite 000-по умолчанию
ЗАПУСТИТЬ a2ensite apache
ЗАПУСК phpenmod xdebug
ЗАПУСК phpenmod аккуратный
RUN update-ca-certificates

#XDEBUG
RUN echo "xdebug.remote_enable = 1" >> /etc/php/7.4/mods-available/xdebug.ini
RUN echo "xdebug.remote_host = docker.for.mac.host.internal" >> /etc/php/7.4/mods-available/xdebug.ini
RUN echo "xdebug.remote_port = 10000" >> /etc/php/7.4/mods-available/xdebug.ini
RUN echo "xdebug.remote_autostart = 1" >> /etc/php/7.4/mods-available/xdebug.ini
RUN echo "xdebug.remote_log=/var/log/apache2/xdebug.log" >> /etc/php/7.4/mods-available/xdebug.ini

ЭКСПОЗИЦИЯ 80
ВЫСТАВИТЬ 443

Служба CMD apache2 start && tail -f /dev/null


Я публикую это здесь, так как тот же проект, работающий на Mac и Windows, работает хорошо. Поэтому я думаю, что проблема может быть связана с докером в Ubuntu.

Спасибо всем заранее.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.