Приложения могут подключаться только с использованием пароля root (MariaDB)

#mysql #docker #docker-compose #mariadb

#mysql #docker #docker-compose #mariadb

Вопрос:

Я настроил Docker-compose, который запускает несколько приложений. В основном это сводится к тому, что все приложения могут подключаться к контейнеру / базе данных MariaDB.

В MariaDB есть переменная, вызываемая MYSQL_ROOT_PASSWORD для изменения пароля root. Но всякий раз, когда я меняю его и использую этот пароль, скажем, с WordPress, я получаю ошибки отказа в доступе. Но когда я затем переключаю пароль, который использует WordPress, обратно на «root», это работает.

Я надеюсь, что кто-нибудь может сказать мне, что я делаю не так! 🙂

Вот мой docker-compose.yml:

 version: "3.2"

services:

    mariadb:
        image: "mariadb"
        container_name: mariadb
        volumes: 
            - "./mariadb:/var/lib/mysql"
        networks:
            - front
        environment: 
            - MYSQL_DATABASE=mariadb
            - MYSQL_USER=mariadb
            - MYSQL_PASSWORD=mariadb
            - MYSQL_ROOT_PASSWORD=321verysecurerootpassword123

    wordpress: 
        depends_on: 
            - mariadb
        image: "wordpress"
        container_name: wordpress
        links:
            - 'mariadb:mysql'
        volumes:
            - "./wordpress/:/var/www/html"
        networks:
            - front
        ports: 
            - "80:80"
        environment: 
            WORDPRESS_DB_PASSWORD: root

    firefly: 
        depends_on: 
            - mariadb
        image: "jc5x/firefly-iii:latest"
        container_name: firefly
        networks:
            - front
        ports:
            - "8080:8080"
        volumes:
            - "./firefly:/var/www/html/storage/upload"
        environment: 
            - APP_KEY=dRZ1lRipw1htgeanQrmjRcD3PGGJjvlk
            - DB_CONNECTION=mysql
            - DB_DATABASE=firefly
            - DB_USERNAME=root
            - DB_PASSWORD=root
            - DB_HOST=mariadb
            - DB_PORT=3306

    orangehrm:
        depends_on: 
            - mariadb
        image: "docker.io/bitnami/orangehrm:4-debian-10"
        container_name: orangehrm
        networks:
            - front
        ports: 
            - "8081:80"
            - "443:443"
        volumes:
            - "./orangehrm:/bitnami"
        environment: 
            ORANGEHRM_DATABASE_NAME: orangehrm
            ORANGEHRM_DATABASE_USER: root
            ORANGEHRM_DATABASE_PASSWORD: root
            ORANGEHRM_USERNAME: orangehrmuser
            ORANGEHRM_PASSWORD: orangehrmpassword

networks:
    front:
        external: false
 

Ответ №1:

Я уже нашел ответ.

Я не могу изменить пароль на ходу, мне пришлось удалить старый том, который использовали MariaDB и WordPress, и создать их заново. Тогда это сработает.