Docker 安装教程

适用于 OpenCloudOS 9.x / CentOS 7+ / RHEL 8+ / Rocky Linux / AlmaLinux 等基于 RHEL 的系统


安装步骤

1. 卸载旧版本(如有)

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

2. 安装 yum-utils 并添加 Docker 官方源

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3. 安装 Docker

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装包说明:

包名

作用

docker-ce

Docker 引擎(社区版)

docker-ce-cli

Docker 命令行工具

containerd.io

容器运行时

docker-buildx-plugin

构建插件

docker-compose-plugin

Docker Compose 插件(v2 版本)

4. 启动 Docker 服务

sudo systemctl start docker
sudo systemctl enable docker

5. 验证安装

sudo docker --version
sudo docker run hello-world

看到 Hello from Docker! 就说明安装成功了!


可选配置

免 sudo 使用 Docker

sudo usermod -aG docker $USER
newgrp docker

退出重新登录后生效,之后可以直接用 docker ps 而不用 sudo

配置国内镜像加速(推荐)

编辑 Docker 配置文件:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://registry.docker-cn.com",
    "https://quay.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com/",
    "https://dockerhub.icu"
  ]
}
EOF

重启 Docker 生效:

sudo systemctl daemon-reload
sudo systemctl restart docker

Docker Compose 说明

如果你安装的是 docker-compose-plugin,使用方式如下:

# 新版命令(推荐)
docker compose up -d
docker compose down

# 查看版本
docker compose version

注意:没有横线!是 docker compose 不是 docker-compose

如需安装旧版独立 docker-compose:

sudo 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

常用命令速查

命令

说明

docker ps

查看运行中的容器

docker ps -a

查看所有容器(包括停止的)

docker images

查看本地镜像列表

docker pull 镜像名

从仓库拉取镜像

docker run 镜像名

运行容器

docker run -d 镜像名

后台运行容器

docker stop 容器ID/名

停止容器

docker start 容器ID/名

启动容器

docker rm 容器ID/名

删除容器

docker rmi 镜像ID

删除镜像

docker logs 容器ID/名

查看容器日志

docker logs -f 容器ID/名

实时跟踪日志

docker exec -it 容器ID/名 /bin/bash

进入容器内部

docker system df

查看 Docker 磁盘占用

docker system prune

清理无用数据


一键安装脚本(懒人版)

#!/bin/bash
set -e

echo "=== 安装 Docker ==="
sudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine 2>/dev/null || true

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo systemctl start docker
sudo systemctl enable docker

echo "=== 配置镜像加速 ==="
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ]
}
EOF

sudo systemctl restart docker

echo "=== 验证安装 ==="
docker --version
docker compose version
docker run --rm hello-world

echo "=== Docker 安装完成!==="

保存为 install-docker.sh,然后执行:

chmod +x install-docker.sh
./install-docker.sh

常见问题

Q: 安装时提示 "No package docker-ce available"

A: 检查是否正确添加了 Docker 源,或尝试 sudo yum makecache

Q: 启动失败,提示端口被占用

A: 检查是否有其他容器运行时:sudo netstat -tlnp | grep 2375

Q: 拉取镜像很慢

A: 配置国内镜像加速(见上文)


文档版本: 2026-04-01 适用系统: OpenCloudOS 9.x / CentOS 7+ / RHEL 8+ / Rocky Linux / AlmaLinux