Linux 上安装 Docker 和 Docker Compose 完整指南
Linux 上安装 Docker 和 Docker Compose 完整指南
📋 目录
🖥️ 系统要求
最低要求
- CPU: 64位处理器
- 内存: 至少 2GB RAM
- 存储: 至少 20GB 可用空间
- 内核: Linux kernel 3.10+
支持的系统版本
- Ubuntu: 18.04, 20.04, 22.04, 24.04
- Debian: 9, 10, 11, 12
- CentOS: 7, 8
- RHEL: 7, 8, 9
- Rocky Linux: 8, 9
- Fedora: 36, 37, 38
🐧 Ubuntu/Debian 安装
方法一:使用官方脚本(推荐)
# 下载并运行官方安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# 启动 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
# 将当前用户添加到 docker 组
sudo usermod -aG docker $USER
# 重新登录或执行以下命令使组权限生效
newgrp docker
方法二:手动安装
# 1. 更新包索引
sudo apt update
# 2. 安装必要的包
sudo apt install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
# 3. 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 4. 添加 Docker 仓库
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 5. 更新包索引
sudo apt update
# 6. 安装 Docker Engine
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 7. 启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
# 8. 将用户添加到 docker 组
sudo usermod -aG docker $USER
🔴 CentOS/RHEL/Rocky Linux 安装
方法一:使用官方脚本(推荐)
# 下载并运行官方安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# 启动 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
# 将当前用户添加到 docker 组
sudo usermod -aG docker $USER
# 重新登录或执行以下命令使组权限生效
newgrp docker
方法二:手动安装(CentOS 7)
# 1. 卸载旧版本
sudo yum remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 2. 安装必要的包
sudo yum install -y yum-utils
# 3. 添加 Docker 仓库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 4. 安装 Docker Engine
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin
# 5. 启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
# 6. 将用户添加到 docker 组
sudo usermod -aG docker $USER
方法三:手动安装(CentOS 8/Rocky Linux 8+)
# 1. 卸载旧版本
sudo dnf remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
# 2. 安装必要的包
sudo dnf install -y dnf-utils
# 3. 添加 Docker 仓库
sudo dnf config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 4. 安装 Docker Engine
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin
# 5. 启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
# 6. 将用户添加到 docker 组
sudo usermod -aG docker $USER
🐳 Docker Compose 安装
方法一:使用 Docker 插件(推荐,Docker 20.10.13+)
# 现代版本的 Docker 已经包含 Docker Compose 插件
# 使用 docker compose 命令(注意没有连字符)
docker compose version
方法二:独立安装 Docker Compose
# 1. 下载最新版本的 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
# 2. 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 3. 创建软链接(可选)
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 4. 验证安装
docker-compose --version
方法三:使用 pip 安装
# 1. 安装 Python 和 pip
sudo apt install -y python3 python3-pip # Ubuntu/Debian
# 或
sudo yum install -y python3 python3-pip # CentOS 7
# 或
sudo dnf install -y python3 python3-pip # CentOS 8+/Rocky Linux
# 2. 使用 pip 安装 Docker Compose
sudo pip3 install docker-compose
# 3. 验证安装
docker-compose --version
🇨🇳 国内网络环境配置
配置 Docker 镜像加速器
# 1. 创建或编辑 Docker daemon 配置文件
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",
"https://mirror.baidubce.com",
"https://ccr.ccs.tencentyun.com"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
# 2. 重启 Docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker
# 3. 验证配置
docker info | grep -A 10 "Registry Mirrors"
国内镜像下载 Docker Compose
# 使用阿里云镜像下载 Docker Compose
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/v2.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 或使用腾讯云镜像
sudo curl -L "https://mirrors.cloud.tencent.com/docker-compose/releases/download/v2.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
✅ 验证安装
验证 Docker 安装
# 1. 检查 Docker 版本
docker --version
# 2. 检查 Docker 服务状态
sudo systemctl status docker
# 3. 运行测试容器
docker run hello-world
# 4. 查看 Docker 信息
docker info
验证 Docker Compose 安装
# 1. 检查 Docker Compose 版本
docker-compose --version
# 或(新版本)
docker compose version
# 2. 测试 Docker Compose
mkdir test-compose && cd test-compose
cat > docker-compose.yml <<EOF
version: '3.8'
services:
hello:
image: hello-world
EOF
# 运行测试
docker-compose up
# 或
docker compose up
⚙️ 常用配置
配置 Docker 开机自启
sudo systemctl enable docker
配置用户权限
# 将用户添加到 docker 组
sudo usermod -aG docker $USER
# 重新登录或执行
newgrp docker
# 验证权限
docker run hello-world
配置 Docker 存储位置
# 停止 Docker 服务
sudo systemctl stop docker
# 创建新的存储目录
sudo mkdir -p /new/docker/path
# 移动现有数据
sudo mv /var/lib/docker/* /new/docker/path/
# 编辑 daemon.json
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"data-root": "/new/docker/path",
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn"
]
}
EOF
# 重启 Docker
sudo systemctl start docker
配置 Docker 日志
# 在 daemon.json 中配置日志
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
sudo systemctl restart docker
License:
CC BY 4.0