Docker安装mysql
-
查看docker镜像仓库里面的mysql镜像
docker search mysql
选择 stars 多的一个镜像名为mysql的镜像
2. 拉取镜像到本地
docker pull mysql
默认拉取最新版本的镜像
如果拉取速度过慢,可以设置阿里云镜像加速器。
3.查看本地拉取的镜像
docker images
可以看到已经拉取到最新的mysql镜像
4.运行容器
docker run -d --name mysql -p 3306:3306 -v /data/mysql/dataDir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=你的密码 mysql
命令解释
docker run [option] image 【command】【arg】
options : {
-- name = "容器名字" 为容器指定一个名称
-d: 后台运行容器。并返回容器Id, 即启动守护式容器
-i: 以交互模式运行容器,通常与-t同时使用
-t: 为容器重新分配一个伪输入终端,通常与-i 同时使用
-P:随机端口映射 ps 注意P是大写
-p: 指定端口映射,有以下4种形式
1. ip:hostPort:contanierPort
2. ip::containerPort
3. houtPort:containerPort
4. containerPort
}
-e MYSQL_ROOT_PASSWORD
设置 初始密码
5.查看容器日志
docker logs -f -t --tail 容器Id
-t 是加入时间戳
-f 跟随最新的日志打印
--tail 数字 显示最后多少条
6.进入正在运行的容器并以命令行交互
docker exec -it 容器ID /bin/bash
重新进入 docker attach 容器Id
区别
attach :直接进入容器启动命令的终端,不会启动新的进程
exex:十载容器中打开新的终端,并且可以启动新的进程
问题: 使用Navicat连接数据出错
解决:
1. 进入容器
登录mysql
2.执行语句
ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
3. 刷新权限
FLUSH PRIVILEGES;
4. 使用Navicat连接数据库