安装docker
卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
启动docker:
sudo systemctl start docker
设置开机自动启动:
systemctl enable docker
测试:查看docker版本
sudo docker version
阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://8bqzfepo.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker安装并启动mysql
卸载已有mysql版本
查看运行的镜像进程
docker ps
停止容器并删除容器
docker stop *CONTAINERID*
docker rm *CONTAINERID*
查看镜像id
docker images
删除对应镜像
docker rmi *IMAGEID*
拉取MySQL镜像
1. 直接拉取最新版本(last)
docker pull mysql
2. 拉取指定版本
docker pull mysql:版本号
查看下载的镜像
docker images |grep mysql
docker启动mysql
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.25
–name:容器名,此处命名为mysql
-e:配置信息,此处配置mysql的root用户的登录密码
-p:端口映射,此处映射 主机3306端口 到 容器的3306端口
检查容器是否正确运行
docker container ls
连接mysql
进入docker本地连接mysql客户端
docker exec -it 530d46ee2a4f bash
使用mysql命令连接mysql
mysql -uroot -p
回车输入密码即可访问到数据库,密码为:docker启动mysql时设置的密码123456
修改mysql权限
# 查看身份验证类型
use mysql
SELECT Host, User, plugin from user;
# 修改身份验证类型
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
# 使生效(可执行第二条sql语句查看是否生效)
FLUSH PRIVILEGES;
生效后即可在本地连接MySQL
注意
- 服务器配置的MySQL端口和映射的MySQL端口是否一致。如配置的3000,但映射的是3306.
- 服务器是否关闭防火墙