CentOS 7 中安装 Docker和Docker Compose

本文介绍CentOS7系统安装Docker和Docker Compose的完整操作步骤

一、环境准备‌

验证系统内核版本:uname -r(需≥3.10)

更新系统软件包:sudo yum update -y‌

二、卸载旧版本

复制代码
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine -y

(若系统未安装旧版本会提示未找到包)‌

三,安装Docker

1**、安装依赖工具**

复制代码
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

(为配置仓库和存储驱动提供支持)‌

‌2**、配置镜像源**

复制代码
# 使用阿里云镜像
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(替代官方仓库提升下载速度)‌

3、安装Docker

复制代码
sudo yum install docker-ce docker-ce-cli containerd.io -y

(默认安装最新稳定版)‌

4、启动服务

复制代码
sudo systemctl start docker
sudo systemctl enable docker

(启动并设置开机自启)‌

5、验证安装

复制代码
sudo docker version
sudo docker run hello-world

**6、配置镜像加速(可选)**‌

  1. 创建配置文件:sudo mkdir -p /etc/docker

  2. 写入阿里云加速器配置:

    javascript 复制代码
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://<your-aliyun-mirror>.mirror.aliyuncs.com"]
    }
    EOF
  3. 重启服务:

    javascript 复制代码
    sudo systemctl daemon-reload && sudo systemctl restart docker

四、安装Docker Compose

  • 适用场景‌:若需通过YAML文件管理多容器应用(如同时部署Web服务、数据库、缓存等),建议安装Docker Compose以简化编排流程‌12。
  • 单容器需求‌:若仅需运行独立容器(如单服务测试),可不安装。

**1.**手动下载 Docker Compose

访问 Docker Compose GitHub Releases 页面,找到最新版本的下载链接。例如,最新版本是 v2.33.1,则下载链接为:

javascript 复制代码
sudo curl -L "https://github.com/docker/compose/releases/download/v2.33.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2. 赋予执行权限

下载完成后,赋予 docker-compose 可执行权限:

javascript 复制代码
sudo chmod +x /usr/local/bin/docker-compose

3. 创建软链接(可选)

为了能够在任何目录下直接使用docker-compose命令,创建一个软链接到/usr/bin目录

复制代码
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

4. 验证安装

检查是否安装成功:

javascript 复制代码
docker-compose --version

如果显示版本号(例如 Docker Compose version v2.23.0),说明安装成功。

5. 卸载(可选)

如果需要卸载 Docker Compose,执行以下命令:

javascript 复制代码
sudo rm /usr/local/bin/docker-compose
相关推荐
攒钱植发44 分钟前
嵌入式Linux——“大扳手”与“小螺丝”:为什么不该用信号量(Semaphore)去模拟“完成量”(Completion)
linux·服务器·c语言
三五度1 小时前
vmware的ubuntu20.04无网络图标
linux·ubuntu
R-G-B2 小时前
【P1】win10安装 Docker教程
运维·docker·容器
菜鸟祥哥2 小时前
xfs文件系统磁盘损坏修复
linux
Y淑滢潇潇2 小时前
RHCE Day2 时间管理服务器 NFS服务器
linux·运维·服务器
铭哥的编程日记2 小时前
【Linux网络】五种IO模型与非阻塞IO
linux·服务器·网络·tcp/ip·udp
liu****3 小时前
12.线程同步和生产消费模型
linux·服务器·开发语言·c++·1024程序员节
snakecy3 小时前
常用命令记录
linux·运维·github
Java小学生丶3 小时前
非常简单的基于 Docker 自建 RustDesk 远程桌面教程
docker·远程桌面·异地组网
cccyi73 小时前
Linux Socket 编程全解析:UDP 与 TCP 实现及应用
linux·tcp socket·udp socket