在centos7上安装docker并安装mysql,并且能够在本机的navicate连接到mysql

在CentOS 7安装docker

参考
https://blog.csdn.net/weixin_46560589/article/details/125184387

卸载旧版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

安装依赖

[root@docker ~]# yum -y install gcc
[root@docker ~]# yum -y install gcc-c++

安装软件包

[root@docker ~]# yum install -y yum-utils

设置stable镜像仓库

[root@docker ~]# yum-config-manager     --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 
#使用国内阿里云仓库链接下载

不推荐从官网下载,因为是外网链接,容易超时报错。

更新yum软件包索引

[root@docker ~]# yum makecache fast

安装Docker 引擎

[root@docker ~]# yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin

启动Docker

[root@docker ~]# systemctl start docker
[root@docker ~]# ps -ef | grep docker

测试

[root@docker ~]# docker run hello-world
#第一次输入会报错,显示本地没有该镜像
 
再次输入即可

卸载

systemctl stop docker
 
yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
 
rm -rf /var/lib/docker
 
rm -rf /var/lib/containerd

Docker容器与虚拟机对比:

docker启动mysql

下载之前,先配置镜像加速器

https://cr.console.aliyun.com/cn-shanghai/instances/mirrors

# 编辑代码
vim /etc/docker/daemon.json
{ "registry-mirrors": ["https://nsodgxr5.mirror.aliyuncs.com"] }
# 重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker

下载Mysql

dockerHub官网地址

找到对应版本输入官方给的命令即可

也可以不指定版本号,默认最新

sudo docker pull mysql

指定版本号

sudo docker pull mysql:8.0.21

启动mysql

docker run --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root  -i -p 3306:3306 mysql:8.0.21
docker run --name mysqlserver 
-v $PWD/conf:/etc/mysql/conf.d 
-v $PWD/logs:/logs 
-v $PWD/data:/var/lib/mysql 
-e MYSQL_ROOT_PASSWORD=123456  
-i -p 3306:3306 mysql:8.0.15

配置端口映射
-p 3306:3306 --name mysql
将容器的3306端口映射到主机的3306端口
配置mysql数据卷挂载
1.-v /mydata/mysql/log:/var/log/mysql(日志文件挂载)
将容器中的日志文件夹挂载到主机对应的/var/log/mysql文件夹中
2.-v /mydata/mysql/data:/var/lib/mysql(数据文件挂载)
将容器中的数据文件夹挂载到主机对应的/var/lib/mysql文件夹中
3.-v /mydata/mysql/conf:/etc/mysql(配置文件挂载)
将容器的配置文件夹挂载到主机对应的/etc/mysql文件夹中
注(这里所提的主机指的是当前的linux主机)
配置用户
-e MYSQL_ROOT_PASSWORD=root
设置初始化root用户的密码
指定镜像资源
-d mysql:5.7
-d:以后台方式运行实例
mysql:5.7:指定用这个镜像来创建运行实例

一些常用命令

#查看docker上的镜像
docker images
#查看docker上的实例情况
docker ps -a
docker ps //只能看到运行的实例
#重启实例
docker restart ebc54f9f98e2(CONTAINER ID)
#停止实例
docker stop ebc54f9f98e2(CONTAINER ID)
#移除一个镜像
docker rm ba51fc8d04e1(CONTAINER ID)
#删除docker上的镜像
docker rmi 7bb2586065cd(IMAGE ID)

Navicate连接MYSQL

上面的配置完毕,可以直接连接了


如果连接不上。可以试试在docker上mysql中开始远程连接

进入mysql容器,并登陆mysql

docker exec -it mysqlserver bash
mysql -uroot -p
Enter password: 

开启远程访问

select now();
use mysql;
select host,user from user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
posted @   NeverLateThanBetter  阅读(137)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示