欢迎访问本站,祝大家玩得愉快。

Docker使用MariaDB数据库

Docker kany.wang 66℃ 0评论

背景介绍

上一篇文章在虚拟机上成功的安装了Docker容器,但是我有偷偷的重新弄了一个新的Docker版本。
环境详情如下:

  • OS:Ubuntu Server 16.04.1 LTS 64位
  • Docker:19.03.1

获取MariaDB镜像

在运行Docker容器的时候,如本地不存在指定镜像,会去Docker的镜像站去拉取镜像,所以我们可以不拉取。

# 搜索镜像文件
docker search mariadb
# 拉取镜像文件
# docker pull mariadb:version
docker pull mariadb:last

创建运行命令

关于MariaDB镜像的详细信息可以在https://hub.docker.com/_/mariadb中看到。这里直接上使用的命令

MariaDB:

docker run --name mariadb -p 3306:3306 -v /data/mariadb/conf:/etc/mysql/conf.d -v /data/mariadb/logs:/var/log/mysql -v /data/mariadb/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=数据库密码 -d mariadb:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

MySQL:

docker run --name mysql -p 3306:3306 -v /data/mariadb/conf:/etc/mysql/conf.d -v /data/mariadb/logs:/var/log/mysql -v /data/mariadb/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=数据库密码 -d mysql:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

--name 指定运行容器名称,我这里定义的是 mariadb
-p 指定宿主机与容器间的端口映射
-v 数据卷,将宿主机的/data/mariadb/data映射到容器/var/lib/mysql
-d 后台运行

上面的参数根据镜像的不同而不同,具体有多少参数请查询上面的链接。-v /data/mariadb/conf:/etc/mysql/conf.d这个是官方给的配置,我进入容器中查看好像使用-v /data/mariadb/conf:/etc/mysql会好点。

备份数据库

docker exec mariadb sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /data/mariadb/all_databases.sql

恢复数据库

docker exec -i some-mariadb sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /data/mariadb/all_databases.sql

备份和恢复如此的简单,感觉还是不错的。

进入正在运行的容器

在参考资料里面有提到4种方式,但是我自己还是喜欢docker exec -it 容器ID /bin/bash,但是大家要查询容器信息还是建议使用docker inspect 容器ID

题外话

在网上看到一个保存windows 10系统激活Key的命令,懒得开单章了,直接弄个题外话

wmic path softwarelicensingservice get OA3xOriginalProductKey

参考资料

联系方式

  • 小伙伴群:J2EE技术交流

打赏

转载请注明:懒人屋 » Docker使用MariaDB数据库

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址