Docker安装Mysql记录
Docker安装Mysql记录
1.拉取 mysql镜像
#默认拉最新版本
docker pull mysql
#拉取指定版本
docker pull mysql:5.7
2.查看本地镜像
docker images
3.创建新的容器
docker run \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=123456 \ -v /home/data/mysql/data:/var/lib/mysql:rw \ -v /home/data/mysql/log:/var/log/mysql:rw \ -v /home/data/mysql/config/my.cnf:/etc/mysql/my.cnf:rw \ -v /etc/localtime:/etc/localtime:ro \ --name mysql8 \ --restart=always \ -d mysql
4.查看运行中的容器
docker ps
5.进入容器
docker exec -it mysql8 bash
6.进入Mysql
mysql -h 127.0.0.1 -u root -p
7.查看mysql用户表,并退出
use mysql; select host,user from user;
exit;
8.修改加密规则与重置密码
#修改加密规则 ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更新用户的密码 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #刷新权限 FLUSH PRIVILEGES; #重置密码 ALTER USER 'root'@'%' IDENTIFIED BY 'mes+2019';
9连接mysql
1.在用户权限下docker 命令需要 sudo 否则出现以下问题
Got permission denied while trying to connect to the Docker daemon socket at unix:
///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/containers/json: dial unix
/var/run/docker.sock: connect: permission denied
通过将用户添加到docker用户组可以将sudo去掉,命令如下
sudo groupadd docker #添加docker用户组 sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中 newgrp docker #更新用户组
2.如果出现错误:
Error parsing reference: "mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base" is not a valid repository/tag: invalid reference format
问题原因:Dockerfile里FROM最后一段写了 AS base ,这个是docker的新特性multi-stage build,需要Docker17.0.5 以上的版本才能用,VS自动生成出来的Dockerfile里也有这一段。
解决办法:
1、升级Docker版本,方法有点麻烦,且一般买的服务器(阿里云、华为云)默认Docker版本都是1.13.1左右
2、不用multi-stage build的话,直接去掉AS base即可,我们的案例中并不需要
作者:pcbren 微信号:yadnfku QQ号: 254566449
博客地址:https://www.cnblogs.com/pcbren/
声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。
如果大家感觉我的博文对大家有帮助,请推荐支持一把。