CentOS中Docker升級詳細步驟
備份重要數據
升級前務必備份Docker容器、鏡像和卷等關鍵數據,避免操作失誤導致數據丟失。常用命令:
docker save -o /path/to/backup/image.tar imagenamedocker export -o /path/to/backup/container.tar containernamedocker cp containername:/path/to/data /local/path/to/backup檢查當前Docker版本
運行以下命令確認當前Docker版本,明確升級需求:
docker --version
停止Docker服務
升級前停止Docker服務,確保操作安全:
sudo systemctl stop docker
徹底卸載舊版本Docker及相關組件,避免殘留文件沖突:
sudo yum remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
可選:刪除舊版Docker數據目錄(謹慎操作,刪除后將永久丟失數據):
sudo rm -rf /var/lib/docker
通過官方倉庫安裝最新穩定版Docker,確保版本兼容性和安全性:
# 安裝yum-utils工具(用于管理倉庫)
sudo yum install -y yum-utils
# 添加Docker官方倉庫
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
更新YUM包索引
sudo yum update -y
安裝Docker CE及依賴
安裝最新版本的Docker社區版(CE)、CLI工具和containerd容器運行時:
sudo yum install -y docker-ce docker-ce-cli containerd.io
注:若需安裝特定版本(如生產環境推薦),可先列出可用版本:
yum list docker-ce --showduplicates | sort -r
然后選擇指定版本安裝(以docker-ce-25.0.0為例):
sudo yum install -y docker-ce-25.0.0 docker-ce-cli-25.0.0 containerd.io
啟動Docker服務
sudo systemctl start docker
設置開機自啟
sudo systemctl enable docker
檢查Docker版本
運行以下命令確認升級成功:
docker --version
輸出應顯示最新版本號(如Docker version 25.0.0, build xxxxx)。
測試Docker功能
運行測試容器,驗證Docker是否正常工作:
docker run hello-world
若輸出`Hello from Docker!',則說明升級成功。
依賴沖突
若安裝過程中出現依賴錯誤,可嘗試更新系統所有軟件包后再重新安裝:
sudo yum update -y && sudo yum install -y docker-ce docker-ce-cli containerd.io
數據恢復
若升級后出現問題,可通過之前備份的數據恢復鏡像、容器或卷:
docker load -i /path/to/backup/image.tarcat /path/to/backup/container.tar | docker import - containernamesudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version