Docker 部署 MariaDB 数据库
MariaDB 是一种开源关系型数据库管理系统,是 MySQL 的一个分支。它的名字来源于 MySQL 创始人 Michael Widenius 的女儿 Maria。MariaDB 的目的是完全兼容 MySQL,包括 API 和命令行。在保留 MySQL 的功能的同时,MariaDB 还提供了一些额外的功能,如更好的性能、更多的储存引擎和插件。MariaDB 也提供了对许多新特性的支持,如更好的查询优化和更多的索引选项。MariaDB 在 GPLv2 许可下发布。
MariaDB 由一组开源软件组成,包括:
- MariaDB 服务器:这是一个数据库管理系统,用于存储和组织数据。
- MariaDB 客户端:这是一组用于连接到 MariaDB 服务器并执行 SQL 语句的命令行工具和图形界面工具。
- MariaDB 库:这是一组用于操作数据库的函数库,可用于开发数据库应用程序。
DockerHub: mariadb | DockerHub
Docker-Compose
stack.yml
version: "3.1"
services:
mariadb:
image: mariadb:10.5
container_name: "some-mariadb"
restart: always
environment:
- MARIADB_ROOT_PASSWORD=example
- MARIADB_DATABASE=example
- MARIADB_USER=example
- MARIADB_PASSWORD=example
- MARIADB_ALLOW_EMPTY_ROOT_PASSWORD="yes"
- MARIADB_RANDOM_ROOT_PASSWORD="yes"
volumes:
- ./mariadb-data:/var/lib/mysql
ports:
- "3306:3306"
adminer:
image: adminer
restart: always
ports:
- 8080:8080
运行 docker-compose -f stack.yml up 启动服务,访问 http://localhost:8080 或者 http://host-ip:8080 进入管理页面。
常用命令:
- 启动:
docker-compose -f stack.yml up - 后台启动:
docker-compose -f stack.yml up -d - 检查状态:
docker-compose ps - 停止:
docker-compose -f stack.yml stop - 停止并删除:
docker-compose -f stack.yml down - 查看日志:
docker logs some-mariadb
Docker
$ docker run -itd --name some-mariadb --env MARIADB_USER=example-user --env MARIADB_PASSWORD=my_cool_secret --env MARIADB_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -v /my/own/datadir:/var/lib/mysql mariadb:latest
some-mariadb容器名称my-secret-pw设置的 root 用户的密码-p是指定宿主端口:容器内服务端口,默认3306-v设置数据库文件的映射,把宿主机上的目录/my/own/datadir与容器内的/var/lib/mysql作关联关系