在 docker 环境下安装mysql
Posted 志波同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在 docker 环境下安装mysql相关的知识,希望对你有一定的参考价值。
一、查看 docker 仓库中支持的 mysql 版本
查看docker 官方网站中的 mysql 镜像说明了解镜像详情,截至目前,官方支持的 mysql 镜像版本为5.6、5.7、8.0。
二、拉取 mysql 镜像
拉取最新版本的 mysql 镜像:
docker pull mysql
拉取指定版本的 mysql 镜像:
docker pull mysql:5.7
拉取成功后,通过查看镜像列表:
docker images
文本以 mysql:5.7 为例进行讲解。
三、创建并启动 mysql 容器
输入一下命令启动创建并启动 mysql 容器:
docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -v /home/mysql/data:/var/lib/mysql -p 3306:3306 -d mysql:5.7
选项 | 说明 |
---|---|
–name | 指定创建的 mysql 容器的名称为 mysql5.7。 |
-e | 设置docker环境变量,应该是 environment 的缩写,此处配置 mysql 的 root 用户的密码。 |
MYSQL_ROOT_PASSWORD | 设置 mysql 服务器 root 用户的密码为123456。 |
-v /home/mysql/data:/var/lib/mysql | 将服务器目录/home/mysql/data 挂载到容器的/var/lib/mysql目录,该目录为mysql数据目录。如果不进行挂载,容器重启时数据文件会丢失。 |
-p localPort:dockerPort | 端口映射,表示 mysql 容器的端口(dockerPort)映射到容器所在服务器的端口(localPort),便于网络其他机器访问。 |
-d | 在后台运行 docker 容器,并输出容器的完整id。 |
mysql:5.7 | mysql 镜像名称及版本号。 |
查看容器的运行状态:
docker ps
运行情况如下图所示:
四、docker 容器中访问 mysql 数据库
进入 mysql docker 容器:
docker exec -it mysql5.7 /bin/bash
选项 | 说明 |
---|---|
-i | 即使没有附加也保持STDIN 打开 |
-t | 分配一个伪终端 |
-d | 在后台运行 docker 容器,并输出容器的完整id。 |
通过命令行连接 mysql 服务器:
mysql -h127.0.0.1 -uroot -p
运行情况如下图所示:
五、远程访问 mysql 数据库
使用 navicat 配置数据库连接,测试通过。如果遇到无法远程连接的情况,请注意开通mysql远程访问权限,开通宿主机的3306端口。
以上是关于在 docker 环境下安装mysql的主要内容,如果未能解决你的问题,请参考以下文章
在Docker下搭建Apache+PHP+mysql环境的过程记录