- 个人主页:VON
- 文章所属专栏:微服务
- 系列文章链接:
- 重生之我在暑假学习微服务第一天《MybatisPlus-上篇》-CSDN博客
- 重生之我在暑假学习微服务第二天《MybatisPlus-下篇》-CSDN博客
- 时间:每天12点前准时更新
特别声明:本篇文章对应黑马程序员微服务课程P21-P23
目录
一、准备工作
这里的准备工作挺复杂的,没有安装centos7的可以去参考其他文章,这里就不介绍centos7的安装了。
MobaXterm Xserver 与 SSH、telnet、RDP、VNC 和 X11 - 家庭版
1.配置MobaXterm
先下载👆这个软件
我这里下载的是这个
这是打开后的样子
进来后点击SSH来配置一下
这里的连接地址要和虚拟机的ip对应
填写完成后点击ok即可
这里如果出现这种错误,证明虚拟机没有打开
进入这个页面就表示配置成功了
到这一步就证明准备工作已经完成,接下来开始配置基础信息
配置一下复制粘贴,MobarXterm默认左键选中即复制,但是需要配置右键点击为粘贴:
SSH这里也需要简单配置一下
关闭X11服务
2、安装配置Docker
(1)检查是否有旧版Docker
(2)安装yum工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
执行上述语句应该就可以自动安装,但是我执行后报错了,于是就开始寻找解决办法
这是我安装时报的错误,下面来简单说一下我的解决方法
手动更换为第三方可用源(以 CentOS 7 为例):
# 备份原有源配置 mkdir -p /etc/yum.repos.d/backup mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ # 下载阿里云的CentOS 7源(包含yum相关包) curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # 替换源中的变量(避免$releasever解析问题) sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo
修复 DNS 配置(确保能解析域名):
echo "nameserver 114.114.114.114" > /etc/resolv.conf # 国内DNS echo "nameserver 8.8.8.8" >> /etc/resolv.conf # 备用DNS
清理缓存并尝试安装
yum
:yum clean all yum makecache # 重建缓存 yum install -y yum # 重新安装yum
执行完成后显示这样就可以了
(3)配置Docker的yum源
执行下面两行代码
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
果然不出意外的又出意外了
安装 yum-config-manager
工具
yum-config-manager
属于 yum-utils
包,需要先安装这个包:
# 安装 yum-utils(包含 yum-config-manager)
yum install -y yum-utils
运行结果如下
添加 Docker 阿里云镜像源
安装好 yum-utils
后,重新执行添加仓库的命令:
# 添加 Docker 阿里云源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
运行结果如下
验证仓库配置
确认仓库文件已正确创建:
# 检查 docker-ce.repo 文件是否存在
ls -l /etc/yum.repos.d/docker-ce.repo
# 查看仓库配置内容
cat /etc/yum.repos.d/docker-ce.repo
运行结果如下
(4)安装Docker
# 安装 Docker 引擎
yum install -y docker-ce docker-ce-cli containerd.io
# 启动 Docker 服务
systemctl start docker
# 设置 Docker 开机自启
systemctl enable docker
全部运行后出现这个页面就成功了
(5)验证是否启动
出现这一界面就可以使用docker了
二、用Docker部署MySQL
可以看到这里拉取失败了,我们再配置一下加速器
1、找到ACR容器服务
2、在Docker中配置加速器
3、直接在Docker中运行
4、重新拉取mysql服务
直接运行docker pull mysql即可
这里我运行的时候遇到了一些问题卡了好一会
就是这个问题,一致无法拉取,在这停留了1个多小时
如果有同样的问题直接参考这个博主的博客即可👇
docker拉取mysql镜像资源失败_docker拉取mysql失败-CSDN博客
然后运行这段指令
docker run -d \
> --name mysql \
> -p 3306:3306 \
> -e TZ=Asia/Shanghai \
> -e MYSQL_ROOT_PASSWORD=root \
> mysql:5.7
这样就成功了
运行这两行命令来进入容器内部
输入密码就可以进入mysql了
密码是之前设置过的密码
5、测试链接
我这里用的图形化界面是navicat
这里的主机是centos的ip地址
可以看到这里的数据库与命令行中的对应了
6、使用 Docker 运行 MySQL 的优势
Docker 提供了一种轻量级且高效的方式来运行 MySQL 服务,相较于本地安装,具备以下核心优势:
环境隔离
MySQL 在 Docker 容器中运行,与主机系统及其他应用程序完全隔离,避免依赖冲突或端口占用问题。
快速部署与一致性
通过预构建的 MySQL 镜像,可以快速启动服务,确保开发、测试和生产环境的一致性,减少因环境差异导致的运行问题。
资源可控
Docker 允许灵活配置 CPU、内存等资源限制,优化 MySQL 实例的性能,同时避免其过度占用主机资源。
数据持久化
通过挂载数据卷(Volume)或绑定主机目录,即使容器重启或删除,MySQL 数据仍可安全保留,确保数据可靠性。
便捷管理与扩展
Docker Compose 支持一键编排多个服务(如 MySQL + Web 应用),简化复杂环境的搭建,同时便于横向扩展或版本升级。