MariaDB docker 容器部署

拉取镜像
$ sudo docker pull mariadb:latest
创建数据容器/数据卷
用于持久化存储 mariadb 数据库的容器
$ sudo docker run --name mariadb_data -v mariadb_data:/var/lib/mysql mariadb /bin/true
创建数据卷
可以直接创建数据卷供容器使用,无需创建数据容器!
$ sudo docker volume create mariadb_data
创建数据库容器
实际运行 mariadb 服务的容器
sudo docker run --name mariadb -d \
-e MYSQL_ROOT_PASSWORD="mypassword" \
--volumes-from mariadb_data \
--restart=always \
mariadb:latest
如果使用数据卷
sudo docker run --name mariadb -d \
-e MYSQL_ROOT_PASSWORD="mypassword" \
-v mariadb_data:/var/lib/mysql \
--restart=always \
mariadb:latest
导入数据库
将从其他位置备份的 .sql
文件导入到 docker 容器的中的 mariadb 中。
第一步 复制 sql 文件到容器
将当前目录下的 getnas-171107.sql
复制到容器中 /root
目录:
$ sudo docker cp getnas-171107.sql mariadb:/root
第二步 进入 mariadb 容器
$ sudo docker exec -it mariadb /bin/bash
进入 /root
目录
# cd /root/
进入 mysql 命令行
# mysql -u root -p
Enter password:
创建、恢复数据库
MariaDB [(none)]> CREATE DATABASE getnas;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> USE getnas;
Database changed
MariaDB [getnas]> source getnas-171107.sql
通过 adminer 容器管理数据库
拉取镜像
$ sudo docker pull adminer:latest
提示:拉取速度慢时可以使用国内镜像,例如:
sudo docker pull registry.docker-cn.com/library/adminer:latest
创建 adminer 容器
$ sudo docker run -d --name adminer -p 8989:8080 --link mariadb:db adminer
停用
$ sudo docker stop adminer
再次使用时
$ sudo docker start adminer
提示:为了避免端口冲突,也可以使用
--rm
参数创建临时的adminer
容器,即程序退出自动销毁容器。