当前位置: 首页 > ds >正文

重生之我在暑假学习微服务第三天《Docker-上篇》

  •  个人主页:VON
  • 文章所属专栏:微服务
  • 系列文章链接:
  • 重生之我在暑假学习微服务第一天《MybatisPlus-上篇》-CSDN博客
  • 重生之我在暑假学习微服务第二天《MybatisPlus-下篇》-CSDN博客
  • 时间:每天12点前准时更新

 特别声明:本篇文章对应黑马程序员微服务课程P21-P23

目录

 一、准备工作

1.配置MobaXterm

 2、安装配置Docker

(1)检查是否有旧版Docker

 (2)安装yum工具

 (3)配置Docker的yum源

安装 yum-config-manager 工具

添加 Docker 阿里云镜像源

验证仓库配置

 (4)安装Docker

(5)验证是否启动

 二、用Docker部署MySQL

1、找到ACR容器服务

2、在Docker中配置加速器 

 3、直接在Docker中运行

​编辑 4、重新拉取mysql服务

5、测试链接

 6、使用 Docker 运行 MySQL 的优势

 一、准备工作

这里的准备工作挺复杂的,没有安装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

执行上述语句应该就可以自动安装,但是我执行后报错了,于是就开始寻找解决办法

这是我安装时报的错误,下面来简单说一下我的解决方法

  1. 手动更换为第三方可用源(以 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
    
  2. 修复 DNS 配置(确保能解析域名):

    echo "nameserver 114.114.114.114" > /etc/resolv.conf  # 国内DNS
    echo "nameserver 8.8.8.8" >> /etc/resolv.conf         # 备用DNS
    
  3. 清理缓存并尝试安装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 应用),简化复杂环境的搭建,同时便于横向扩展或版本升级。

http://www.xdnf.cn/news/16644.html

相关文章:

  • 前端工程化常见问题总结
  • Ubuntu lamp
  • 前端静态资源优化
  • selenium 特殊场景处理
  • 手游遇攻击为何要用游戏盾SDK?
  • 常用设计模式系列(十五)—解释器模式
  • WAIC 2025深度解析:当“养虎”警示遇上机器人拳击赛
  • 《计算机“十万个为什么”》之 [特殊字符] 序列化与反序列化:数据打包的奇妙之旅 ✈️
  • 7、Docker 常用命令大全
  • HLS视频切片音频中断问题分析与解决方案
  • 力扣17:电话号码的字母组合
  • vue-grid-layout元素交换位置及大小
  • 【uniapp】---- 使用 uniapp 实现视频和图片上传且都可以预览展示
  • Python系统交互库全解析
  • Cloudflare CDN 中设置地域限制并返回特定界面
  • 基于Vue3.0+Express的前后端分离的任务清单管理系统
  • 虚拟地址空间:从概念到内存管理的底层逻辑
  • “本地计算机上的 mysql 服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止”解决方式
  • R语言与作物模型(DSSAT模型)技术应用
  • 从0开始学习R语言--Day60--EM插补法
  • 深入解析IPMI FRU规范:分区结构与字段标识详解
  • CMakelists.txt 实现多级目录编译
  • Kafka 3.9.1的KRaft模式部署
  • 【Spring Boot 快速入门】二、请求与响应
  • Java设计模式之<建造者模式>
  • 稳定币催化下,Web3 支付赛道将迎来哪些爆发?
  • 二十一、动植物类(自然生态)
  • CodeBuddy的安装教程
  • 神经网络的基本骨架-nn.Module的使用和卷积操作
  • 燃气管网运行工考试练习题