Получение ошибок в соединении с базой данных часто в WordPress с помощью docker-compose

Я часто получаю сообщение об ошибке подключения к базе данных. Он отлично работает в течение дня или двух, но нужно перезапускать docker-compose вручную каждый раз, когда появляется эта ошибка.

может видеть что-либо существенное при запуске журналов docker-compose
Что я делаю неправильно ? Вот..

DockerFile

FROM wordpress

COPY wp-config.php /var/www/html/

RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf

EXPOSE 80

докер-Compose
версия: ‘3.1’

services:

wordpress_db:
container_name: abcwordpressdb
image: mariadb:latest
restart: always
volumes:
- abcdb:/var/lib/mysql
environment:
MYSQL_USERNAME: root
MYSQL_ROOT_PASSWORD: password
ports:
- "3306:3306"
phpmyadmin:
container_name: abcphpmyadmin
image: phpmyadmin/phpmyadmin
links:
- wordpress_db:db
ports:
- "8181:80"environment:
MYSQL_USERNAME: root
MYSQL_ROOT_PASSWORD: password
PMA_HOST: wordpress_db

wordpress:
build: ./wordpress
container_name: abc_wordpress
ports:
- "80:80"volumes:
- ./wp-content:/var/www/html/wp-content/
restart: unless-stopped

volumes:
abcdb:

0

Решение

Контейнеры базы данных порой занимают больше времени.
Поэтому, когда ваш контейнер приложений «зависит» от соединения с базой данных. Приятно использовать опцию

depends_on:
- wordpress_db

Это позволит убедиться, что контейнер базы данных появится до того, как приложение

1

Другие решения

Нашел решение здесь
https://github.com/docker-library/mysql/issues/361

Просто запустите резервное копирование перед запуском

# Backup
docker exec CONTAINER /usr/bin/mysqldump -u root --password=root DATABASE > backup.sql

# Restore
cat backup.sql | docker exec -i CONTAINER /usr/bin/mysql -u root --password=root DATABASE

затем

  1. docker-compose down
  2. Удаленные старые тома (если нет значимых данных) docker system prune --force --volumes
  3. добавленной command: --disable-partition-engine-check в раздел MySQL в docker-compose.yml
  4. Побежал с docker-compose up -d установить его в фоновом режиме.
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector