1. Mariadb Docker 镜像功能介绍:
MariaDB 是一个开源的关系型数据库管理系统,是 MySQL 的一个分支,兼容性很高,提供了稳定、高性能的数据库服务。Mariadb Docker 镜像将 MariaDB 打包为 Docker 容器,使得在不同的环境中快速部署和运行 MariaDB 成为可能。
2. Mariadb Docker 镜像应用场景:
-
开发环境:开发者可以使用 Mariadb Docker 镜像在本地快速搭建数据库环境,进行应用程序的开发和调试。
-
测试环境:测试团队可以利用 Mariadb Docker 镜像轻松地部署数据库服务,并进行功能测试、性能测试等工作。
-
生产环境:在生产环境中,可以使用 Mariadb Docker 镜像作为数据库服务的一部分,以提供稳定可靠的数据存储服务。
3. 使用 Docker CLI 搭建 Mariadb 容器:
docker run -d \
--name mariadb-container \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-v /my/own/datadir:/var/lib/mysql \
-p 3306:3306 \
mariadb:latest
-
docker run
: 运行 Docker 容器的命令。 -
-d
: 在后台运行容器。 -
--name mariadb-container
: 指定容器的名称为mariadb-container
。 -
-e MYSQL_ROOT_PASSWORD=my-secret-pw
: 设置 MariaDB 的 root 用户密码为my-secret-pw
,这是一个必要的安全设置。 -
-v /my/own/datadir:/var/lib/mysql
: 将本地主机的/my/own/datadir
目录挂载到容器内的/var/lib/mysql
目录,用于持久化数据。 -
-p 3306:3306
: 将容器的 3306 端口映射到主机的 3306 端口,以便可以通过主机访问 MariaDB 服务。 -
mariadb:latest
: 使用的 Mariadb 镜像版本。
4. 使用 Docker Compose 搭建 Mariadb 容器:
创建一个 docker-compose.yml
文件,内容如下:
version: '3.8'
services:
mariadb:
image: mariadb:latest
container_name: mariadb-container
environment:
MYSQL_ROOT_PASSWORD: my-secret-pw
volumes:
- /my/own/datadir:/var/lib/mysql
ports:
- "3306:3306"
然后在命令行中执行:
docker-compose up -d
docker-compose up -d
: 使用 Docker Compose 启动容器组,并在后台运行。
5. 参数解释:
-
--name
: 指定容器的名称,方便识别和管理。 -
-e MYSQL_ROOT_PASSWORD
: 设置 MariaDB 的 root 用户密码,确保数据库安全。 -
-v /my/own/datadir:/var/lib/mysql
: 将宿主机的目录挂载到容器中,实现数据持久化,避免容器销毁后数据丢失。 -
-p 3306:3306
: 将容器的 3306 端口映射到主机的 3306 端口,实现主机与容器间的通信。 -
image
: 指定使用的 Docker 镜像。 -
container_name
: 指定容器的名称。 -
environment
: 设置环境变量,这里是设置 MariaDB root 用户的密码。 -
volumes
: 挂载数据卷,将宿主机的目录挂载到容器中。 -
ports
: 端口映射,将容器的端口映射到主机的对应端口。