使用 Docker 创建 MySQL 容器


我们在工作中用到最多的数据库应该就是 MySQL 了,很多时候可能大部分人都会选择在自己的本机去安装一个 MySQL,但是普通的安装对自己的主机内存占用很大,步骤比较繁琐,一般都只能启用一个 MySQL 服务,而且以后卸载的时候也很不方便。但是,有了 Docker 以后这中间的好多步骤都可以省略,如果不需要的时候删除容器也是很方便的,只需要一个命令即可。

下面我就就详细介绍下如何使用 Docker 安装 MySQL 。

1. 准备工作

1.1 安装Docker

至于 Docker 的安装我就不再详细说明了, 无论你是 Windows、Mac 还是 Linux,现在网上都有很多安装教程,你可以根据步骤进行安装。相信我,这绝对是一个一劳永逸的方式,以后都会用到,这里我们就当 Docker 已经安装完啦。

1.2 拉取 MySQL 的镜像(这里使用 MySQL5.7 版本)

mysql 现在最新的版本以及更新到8.0了,如果你在 Java 程序中引用 MySQL 的包,路径上是需要修改的。

  • 拉取 MySQL 镜像
$ docker pull mysql:5.7

1.3 查看 MySQL 镜像

当我们从镜像仓库拉完 MySQL 以后,本地或者服务器上就已经有了 MySQL 的镜像,我们可以通过命令去查看

  • 查看 MySQL 镜像是否拉取
$ docker images 

这个命令就列出了当前主机上已经下载的所有镜像。

1.4 在宿主机上创建数据存储文件夹

使用 Docker 安装镜像之后对于数据要有规律的去保存,这样也方便以后删除镜像的时候能够轻易的找到数据一起删除。所有在这里我所有使用 Docker 安装的镜像都会在 /data/docker 目录下,Docker 目录中根据镜像再进行分类。
例如:这里我要使用 Docker 启动一个 MySQL 的容器 容器名称为mysql001,这样我就创建如下目录

  • 创建数据存储目录
$ mkdir /data/docker/mysql/mysql001

2. 启动 MySQL 容器

2.1 创建容器

  • 创建容器
$ docker run --name mysql001 -p 3306:3306  -e MYSQL_ROOT_PASSWORD=root -v /etc/localtime:/etc/localtime  -v /data/docker/mysql/mysql001:/var/lib/mysql -d mysql:5.7 
  • 各命令的作用说明
    这里我们对上面的命令进行拆解,清楚的了解每一步都是在做什么操作。
    • docker run
      这是启动一个容器
    • –name mysql001
      启动的容器名称为mysql001,这个名称在后面操作可直接使用名称
    • -p 3306:3306
      映射端口,前面一个端口是宿主机的端口,后面一个端口是 MySQL 的端口,我们访问数据库是通过访问宿主机去访问,所以使用的是前面一个端口
    • -e MYSQL_ROOT_PASSWORD=root
      设置 MySQL 的登录密码为root
    • -v /etc/localtime:/etc/localtime
      这个是这是启动容器的时区和宿主机一致,这个设置比较有用,不然会出现数据库中的时间比当前时间晚8小时
    • -v /data/docker/mysql/mysql001:/var/lib/mysql
      这个就是用刚刚创建的目录去存储 MySQL 的数据了,我们在 MySQL 中的所有数据都会存储在宿主器前面的目录里
    • -d mysql:5.7
      -d是开启 Daemon 模式即保护进程的方式运行。最后的这个是知道启动容器的版本 如果没有的话默认就是 latest 和前面 pull 镜像时一样

2.2 启动 MySQL

执行完上面的命令后容器并没有启动,我们可以通过执行以下命令去启动容器

  • 启动 MySQL
$ docker start mysql001

或者将name修改为image_id,image_id可以通过 docker images命令去查看。

3.访问 MySQL 数据库

  • 方式一:使用命令行 mysql client 访问
$ mysql-cli -h 127.0.0.1 -u root -p root
  • 方式二:使用客户端访问
    如:mysqlworkbatch,navicat,sqlyog等客户端软件。

4.删除容器

如果不想再使用 MySQL 容器 那么我们就可以删除它,删除之前必须要保证容器是 stop 的,可以通过下面的命令查看:

  • 查看正在运行的容器
$ docker ps 
  • 查看所有运行过的容器包括正在运行的容器
$ docker ps -a
  • 停止运行容器
$ docker stop mysql001
  • 删除容器
    可以根据容器的名称进行删除
$ docker rm mysql001

还可以根据上面的 -a 命令可以查找到容器id,执行命令删除容器

$ docker rm 容器id

5.结语

经过上面的步骤,我相信你们的 MySQL 已经在本地搭建完成了,相比于自己安装 MySQL的客户端是不是少了许多的配置呢?如果是在 Docker 已经安装完成的情况下,比较熟练最少可以在2-3分钟之内安装完事,是不是很快?

天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值