MySQL官方Docker镜像安装
1.环境安装
Docker的安装请参考【 Centos7中安装Docker 】
2.创建mysql目录,用于存放后面的相关文件
mkdir -p ~/mysql/data ~/mysql/logs ~/mysql/conf
参数说明:
-
data目录将映射为mysql容器配置的数据文件存放路径
-
logs目录将映射为mysql容器的日志目录
-
conf目录里的配置文件将映射为mysql容器的配置文件
3.获取MySQL镜像
- 下载 MySQL 8.x
docker pull mysql:8.0.11
- 查看下载的镜像
docker images
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
- 参数说明:
- -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
- 查看是否启动成功
docker ps
- 启动/停止/重启 命令:
docker start mysql
docker stop mysql
docker restart mysql
5.登录MySQL镜像
docker exec -it mysql bash
- 登陆MySQL修改登陆权限
alter user 'root'@'%' identified with mysql_native_password by 'root';
- 图例:
- 使用Navicat连接