如何在centos中安装特定版本的docker?
即使网络通畅,CentOS 7 官方镜像站已关闭,需将 yum 源替换为阿里云等第三方镜像。
bashmkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/C* /etc/yum.repos.d/backup/ # 备份所有 CentOS 官方 repo
bashcurl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
(若 curl 未安装,可在有网机器下载该文件,再通过 U 盘/scp 传到目标机器的 /etc/yum.repos.d/ 目录)
bashyum clean all # 清除旧缓存
yum makecache # 生成新缓存(从阿里云拉取数据)
要在 CentOS 系统上安装 Docker 20.10.9 和 Docker Compose,可按照以下步骤操作:
确保系统无旧版 Docker,避免冲突:
bashsudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
安装 yum-utils 工具,并添加国内镜像源加速下载:
bashsudo yum install -y yum-utils sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
先查看可用的 Docker 版本,再安装目标版本:
bash# 列出所有可用版本(按版本号从高到低排序)
yum list docker-ce --showduplicates | sort -r
# 安装 Docker 20.10.9(需替换为对应完整包名,如 3:20.10.9-3.el8)
sudo yum install -y docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io
bashsudo systemctl start docker # 启动 Docker 服务
sudo systemctl enable docker # 设置开机自启
运行 hello-world 测试容器:
bashsudo docker run hello-world
若输出 Hello from Docker!,则安装成功。
Docker Compose 有两种安装方式:独立二进制包(推荐)或 Python pip(适用于旧版本)。以下是独立二进制包的安装步骤:
从 GitHub 下载对应系统架构的二进制文件(以 v2.28.1 为例,需替换为最新版本号):
bashsudo curl -L "https://github.com/docker/compose/releases/download/v2.28.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
bashsudo chmod +x /usr/local/bin/docker-compose
bashdocker-compose --version
若输出类似 Docker Compose version v2.28.1,则安装成功。
若执行 docker-compose 提示命令未找到,需创建软链接到系统命令目录:
bashsudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Docker 与 Docker Compose 没有严格的版本绑定关系,但从兼容性和稳定性考虑,Docker 20.10.9 推荐搭配 Docker Compose v1.29.x 版本(如 1.29.2),这是 v1 系列的最后一个稳定版,对旧版 Docker 兼容性更好。
如果使用 Docker Compose v2 版本(如 v2.2.3+),也可兼容,但 v2 采用 docker compose 命令(无短横线),与 v1 的 docker-compose 命令略有差异。
需在有互联网的机器上下载离线包,再传输到局域网的 CentOS 机器。
在目标 CentOS 机器上执行以下命令,确认架构(通常是 x86_64):
bashuname -m # 输出示例:x86_64
以 Docker Compose 1.29.2(x86_64 架构) 为例,在有网机器的终端执行:
bash# 下载 v1.29.2 版本(适合 Docker 20.10.9)
wget https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64 -O docker-compose
# 若需 v2 版本(如 v2.2.3),命令:
# wget https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -O docker-compose
下载后,文件名为 docker-compose(离线安装包)。
通过 scp(或 U 盘拷贝)将离线包传到局域网的 CentOS 机器(例如传到 /tmp 目录):
bash# 在有网机器上执行,将文件传到目标机器
scp ./docker-compose 用户名@目标机器IP:/tmp/
在目标 CentOS 机器上执行以下命令:
bash# 1. 将离线包移动到系统可执行目录
sudo mv /tmp/docker-compose /usr/local/bin/
# 2. 赋予可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 3. (可选)创建软链接,确保命令全局可访问
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
bashdocker-compose --version
若输出类似 docker-compose version 1.29.2, build 5becea4c,则离线安装成功。
本文作者:wucc
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-SA 许可协议。转载请注明出处!