Изменение пароля MySQL/MariaDB в работающем Docker контейнере

Переопределите точку входа в docker-compose.yml для контейнера Docker MariaDB, добавив:

entrypoint: mysqld_safe --skip-grant-tables --user=mysql
Запуск стека Docker Compose:

docker-compose up -d
Затем войдите в контейнер Docker:

sudo docker exec -ti docker-container-name bash

И войдите в MariaDB как root без пароля:

mysql -u root -p

Измените пароль root в MySQL Cli:

mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_secret';
mysql> FLUSH PRIVILEGES;

Выйдите из mysql и из контейнера Docker (2x выход), удалите строку точки входа из docker-compose.yml и перезагрузите стек Docker Composer:

docker-compose up -d

Теперь вы можете войти в контейнер MariaDB и подключиться к базе данных с новым паролем root:

sudo docker exec -ti docker-container-name bash
mysql -u root -p