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

发布于:2025-07-29 ⋅ 阅读:(17) ⋅ 点赞:(0)

 特别声明:本篇文章对应黑马程序员微服务课程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 应用),简化复杂环境的搭建,同时便于横向扩展或版本升级。


网站公告

今日签到

点亮在社区的每一天
去签到