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

重生之我在暑假学习微服务第三天《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.dtcms.com/a/302536.html

相关文章:

  • 【Unity笔记】Unity Camera.cullingMask 使用指南:Layer 精准控制、XR 多视图与性能提升
  • ERC20 和 XCM Precompile|详解背后技术逻辑
  • 学习Python中Selenium模块的基本用法(2:下载浏览器驱动)
  • js的学习2
  • JavaScript:数组常用操作方法的总结表格
  • Webhook技术深度解析:从原理到实现全指南
  • Item17:以独立语句将newed对象置入智能指针
  • MDM五十万台设备高并发场景解决方案【后台管理】
  • Taro 位置相关 API 介绍
  • C# 状态机以及状态机编程模式
  • Java设计模式-通俗举例
  • 【智慧物联网平台】编译jar环境 Linux 系统Maven 安装——仙盟创梦IDE
  • Leaflet 综合案例-聚类图层控制
  • django ManyToManyField 如何添加数据
  • Django缓存机制详解:从配置到实战应用
  • MGRE 实验
  • Django 视图详解(View):处理请求与返回响应的核心
  • Linux IPC实战:管道与命名管道的进程对话术
  • 语音识别数据增强
  • llama系列
  • 1688寻源通接口接入要点||电商API接口
  • 电脑ip地址在哪里看
  • 如何提升 TCP 传输数据的性能?详解
  • 信息收集工具ARL资产侦察灯塔系统搭建教程
  • 最新的前端技术和趋势(2025)
  • STM32启动流程
  • 防水医用无人机市场报告:现状、趋势与洞察
  • 无人机喷洒系统技术要点与难点解析
  • Go性能优化深度指南:从原理到实战
  • 机器学习与深度学习评价指标