Справочник по контейнерам MariaDB
- Получение образов
Образы можно найти на MariaDB Docker Hub.
Чтобы получить список образов, выполните
$ docker images -a
- Создание сети
$ docker network create mynetwork
Рекомендуется создавать Docker сеть и подключать контейнер к сети.
- Запуск контейнера с параметрами сервера
Чтобы запустить контейнер в фоновом режиме с образом MariaDB сервера, выполните:
$ docker run --rm --detach \ --env MARIADB_ROOT_PASSWORD=sosecret \ --network mynetwork \ --name mariadb-server \ mariadb:latest
Кроме того, также доступны переменные окружения.
- Получение списка работающих контейнеров (укажите флаг -a, если вы хотите увидеть все контейнеры)
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ad374ec8a272 mariadb:latest "docker-entrypoint.s…" 3 seconds ago Up 1 second 3306/tcp mariadb-server
- Запуск клиента из контейнера
Чтобы запустить клиент mariadb внутри созданного контейнера и выполнить определенные команды, выполните следующее:
$ docker exec -it mariadb-server mariadb -psosecret -e "SHOW PLUGINS"
- Просмотр логов из контейнера
$ docker logs mariadb-server
В логах можно найти информацию о статусе сервера, плагинах, сгенерированных паролях, ошибках и т. д.
- Перезапуск контейнера
$ docker restart mariadb-server
- Выполнение команд внутри контейнера
$ docker exec -it mariadb-server bash
- Использование тома для указания параметров конфигурации
$ docker run --detach --env MARIADB_USER=anel \ --env MARIADB_PASSWORD=anel \ --env MARIADB_DATABASE=my_db \ --env MARIADB_RANDOM_ROOT_PASSWORD=1 \ --volume $PWD/my_container_config:/etc/mysql/conf.d:z \ --network mynetwork \ --name mariadb-server1 \ mariadb:latest
Можно указать пользовательские файлы конфигурации через том /etc/mysql/conf.d во время запуска контейнера.
- Использование тома для указания прав во время запуска контейнера
$ docker run --detach --env MARIADB_USER=anel\ --env MARIADB_PASSWORD=anel \ --env MARIADB_DATABASE=my_db \ --env MARIADB_RANDOM_ROOT_PASSWORD=1 \ --volume $PWD/my_init_db:/docker-entrypoint-initdb.d \ --network mynetwork \ --name mariadb-server1 \ mariadb:latest
Пользователь, созданный с переменными окружения, имеет полные права только на MARIADB_DATABASE. Чтобы переопределить эти права, можно указать права пользователю или выполнить любые SQL-запросы из файла хоста в docker-entrypoint-initdb.d. В каталоге local_init_dir мы можем найти файл, созданный так:
$ echo "GRANT ALL PRIVILEGES ON *.* TO anel;" > my_init_db/my_grants.sql
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/mariadb-container-cheat-sheet/