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
相关推荐
RisunJan1 小时前
Linux命令-rlogin(远程登录)
linux·运维
大飞记Python5 小时前
Linux命令速查手册(测试开发4年实战总结,附PDF)
linux·网络·pdf
顾喵6 小时前
PetaLinux 2017.4 实操指南:PREEMPT_RT实时补丁移植+Zynq PL中断UIO用户态配置(超完整避坑版)
linux
小樱花的樱花7 小时前
Linux 线程的创建
linux·c语言·开发语言
donoot7 小时前
一次 Nginx 502 问题的深度排查:从 SELinux 到容器网络
nginx·docker·selinux·反向代理·502 bad gateway
mounter6257 小时前
BPF 的进化史:从网络过滤器到 AI 时代的 Linux 核心引擎
linux·网络·人工智能·ebpf·linux kernel·kernel
YMWM_7 小时前
video.preset的值为null和ultrafast的区别
linux·video
Sagittarius_A*9 小时前
Docker:渗透前置容器化核心基础
运维·安全·docker·容器
代码AC不AC9 小时前
【Linux】线程池
linux·线程池
网络小白不怕黑10 小时前
12.DHCP服务搭建
linux·运维·服务器·网络