【问题标题】:Getting error in database connection frequently on wordpress using docker-compose使用 docker-compose 在 wordpress 上频繁出现数据库连接错误
【发布时间】:2018-11-17 16:08:22
【问题描述】:

我经常收到数据库连接错误。它可以正常运行一两天,但每次出现此错误时都需要手动重新启动 docker-compose。

在运行 docker-compose 日志时可以看到任何重要的信息 我究竟做错了什么 ?这里..

Docker 文件

FROM wordpress

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

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

EXPOSE 80

码头工人撰写 版本:'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:

【问题讨论】:

  • 这听起来像是 mariadb 容器的磁盘空间或内存的问题。发生此错误时,您是否检查过内存使用情况和磁盘空间?

标签: php wordpress docker docker-compose mariadb


【解决方案1】:

数据库容器有时需要更长的时间才能启动。 因此,当您的应用程序容器“依赖”数据库连接时。使用该选项很好

depends_on:
  - wordpress_db

这将确保数据库容器在应用程序之前出现

【讨论】:

    【解决方案2】:

    在这里找到了解决方案 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. 在 docker-compose.yml 的 mysql 部分添加了command: --disable-partition-engine-check
    4. 使用docker-compose up -d 运行它以在后台进行设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-14
      • 2019-04-28
      • 1970-01-01
      • 1970-01-01
      • 2019-04-13
      • 1970-01-01
      • 2020-06-07
      • 2020-06-28
      相关资源
      最近更新 更多