MySQL官方Docker镜像安装

1.环境安装

Docker的安装请参考【 Centos7中安装Docker


2.创建mysql目录,用于存放后面的相关文件

mkdir -p ~/mysql/data ~/mysql/logs ~/mysql/conf

参数说明:

  • data目录将映射为mysql容器配置的数据文件存放路径

  • logs目录将映射为mysql容器的日志目录

  • conf目录里的配置文件将映射为mysql容器的配置文件


3.获取MySQL镜像

  1. 下载 MySQL 8.x
docker pull mysql:8.0.11
  1. 查看下载的镜像
docker images

MySQL官方Docker镜像安装


4.实例一个镜像

docker run --restart unless-stopped -p 3306:3306 --name mysql -v ~/mysql/conf:/etc/mysql/conf.d -v ~/mysql/logs:/logs -v ~/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.11
  1. 参数说明:
  • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
  • -v ~/mysql/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
  • -v ~/mysql/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
  • -v ~/mysql/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
  • -e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码。
  • -name 容器名
  • -d 启动后在后台运行
  • -restart 自动重启 参数:unless-stopped
Flag Description
no 不自动重启容器 (默认值)
on-failure 容器发生error而退出(容器退出状态不为0)重启容器
unless-stopped 在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always 容器停止了就重新启动

如果创建时未指定启动策略,可以通过update命令设置

docker container update --restart unless-stopped mysql
  1. 查看是否启动成功
docker ps

MySQL官方Docker镜像安装

  1. 启动/停止/重启 命令:
docker start mysql

docker stop mysql

docker restart mysql

5.登录MySQL镜像

docker exec -it mysql bash
  1. 登陆MySQL修改登陆权限
alter user 'root'@'%' identified with mysql_native_password by 'root';
  1. 图例:

MySQL官方Docker镜像安装

  1. 使用Navicat连接

MySQL官方Docker镜像安装