Rulez o aplicație LAMP folosind docker compose pe Ubuntu 21.04. Aplicația este extrem de lentă.
Verificând statisticile docker, văd că utilizarea procesorului, în timpul încărcării unei pagini, este de cele mai multe ori în jur de 0,01*%, cu excepția unor vârfuri, care, din păcate, durează câteva secunde, în care utilizarea procesorului atinge un procent mai mare (aproximativ 20% - 30%).
Informații Docker:
AVERTISMENT: Eroare la încărcarea fișierului de configurare: .dockercfg: $HOME nu este definit
Client:
Context: implicit
Modul de depanare: fals
Server:
Containere: 13
Alergare: 3
Întrerupt: 0
Oprit: 10
Imagini: 34
Versiunea serverului: 19.03.13
Driver de stocare: overlay2
Sistem de fișiere de rezervă: extfs
Suporta d_type: true
Native Overlay Diff: adevărat
Driver de înregistrare: json-file
Driver Cgroup: cgroupfs
Pluginuri:
Volum: local
Rețea: bridge host ipvlan macvlan null overlay
Jurnal: awslogs fluentd gcplogs gelf journald json-file logentries locale splunk syslog
Roi: inactiv
Durate: runc
Timp de rulare implicit: runc
Init Binary: docker-init
versiune containerd: 8fba4e9a7d01810a393d5d25a3621dc101981175
versiune runc:
versiune init: fec3683
Opțiuni de securitate:
aparatură
seccomp
Profil: implicit
Versiunea Kernel: 5.11.0-22-generic
Sistem de operare: Ubuntu Core 18
OSType: Linux
Arhitectură: x86_64
CPU: 8
Memorie totală: 15,36 GiB
Nume: fabrizio-XPS-13-9305
ID: C7F4:H3BH:6S65:I24Q:PJ4W:EEBN:SXMH:V2GN:B67C:XYUL:R56O:5AKX
Docker Root Dir: /var/snap/docker/common/var-lib-docker
Modul de depanare: fals
Registrul: https://index.docker.io/v1/
Etichete:
Experimental: fals
Registre nesigure:
127.0.0.0/8
Restaurare live activată: fals
Iată fișierul docker-compose.yml:
versiunea: '3'
Servicii:
apache:
depinde de:
- mariadb
construi:
context: .
dockerfile: apache/Dockerfile
argumente:
Adresa URL: „fp.example.com”
mediu inconjurator:
- URL=fp.example.com
imagine: apache
porturi:
- „80:80”
- „443:443”
volume:
- ../fp.example:/var/www/fp.example
- ./logs/apache:/var/log/apache2
link-uri:
- mariadb:database"
- solr:solr"
mariadb:
imagine: mariadb:10,5-focal
porturi:
- „3306:3306”
volume:
- ./mysql:/var/lib/mysql
mediu inconjurator:
MYSQL_ROOT_PASSWORD: ***********
MYSQL_DATABASE: *********
MYSQL_USER: ***********
MYSQL_PASSWORD: ***********
solr:
imagine: solr:8
porturi:
- „8983:8983”
volume:
- ./solr:/var/solr
Aici este apache-ul meu Dockerfile:
DIN ubuntu:20.04
LABEL Description="Lampa Ubuntu [APACHE PHP MYSQL]" \
Licență="Licență Apache 2.0" \
Utilizare="" \
Versiune="1.0"
URL ARG
ENV TERM=xterm\
TZ=Europa/Berlin\
DEBIAN_FRONTEND=neinteractiv
RUN apt-get update
#RUN apt-get upgrade -y
RUN apt-get install -y --fix-missing \
gudron \
zip \
dezarhivați \
sed \
nano \
apache2 \
libapache2-mod-php \
php \
php-cli \
php-comun \
php-dev \
php-fpm \
php-gd \
php-json \
php-mbstring \
php-mysql \
php-readline \
php-soap \
php-tidy \
php-xdebug \
php-xmlrpc \
php-zip \
compozitor
# -- CIREAȘĂ -- #
RUN mkdir /var/www/$URL
RUN chown -R www-data:www-data /var/www/$URL
COPIEAZĂ /apache/apache.conf /etc/apache2/sites-available/
COPIEAZĂ /apache/php.ini /etc/php/7.4/apache2/
COPIEAZĂ /apache/cert/myCA.crt /usr/local/share/ca-certificates/
COPIEAZĂ /apache/cert/crt /etc/apache2/ssl/
COPIEAZĂ /apache/cert/key /etc/apache2/ssl/
# -- VOLUME -- #
VOLUM /var/www/$URL
VOLUM /var/log/apache2
#APACHE
RUN a2enmod rescrie
RUN a2enmod ssl
RUN a2dissite 000-implicit
RUN a2ensite apache
RUN phpenmod xdebug
RUN phpenmod ordonat
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
EXPUNEREA 80
EXPUNEREA 443
Serviciul CMD apache2 start && tail -f /dev/null
Postez asta aici, deoarece același proiect, care rulează pe Mac și Windows, funcționează bine. Deci cred că problema ar putea veni de la docker pe ubuntu.
Multumesc tuturor anticipat.