- ?個人主頁: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
執行上述語句應該就可以自動安裝,但是我執行后報錯了,于是就開始尋找解決辦法
這是我安裝時報的錯誤,下面來簡單說一下我的解決方法
-
手動更換為第三方可用源(以 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 應用),簡化復雜環境的搭建,同時便于橫向擴展或版本升級。