在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
下载之前,先配置镜像加速器
# 编辑代码
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;
本文来自博客园,作者:NeverLateThanBetter,转载请注明原文链接:https://www.cnblogs.com/do-it-520/p/16616498.html
韶华易逝,不能虚度年华。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?