2026 VPS 安装 Docker 教程:Ubuntu / Debian / CentOS 三系统完整指南

2026 VPS 安装 Docker 教程这篇写给第一次接触服务器的小白:你只需要会 SSH 登录 VPS,然后按自己的系统复制命令,就能在 Ubuntu、Debian 或 CentOS Stream 上装好 Docker Engine 和 Docker Compose V2。本文命令参考 Docker 官方文档,并按 VPS 常见场景补上了验证、开机自启、日志限制和排错步骤。

适合谁看:刚买 VPS,准备部署网站、面板、监控、Nginx、数据库、API 服务、AI 工具,想用 Docker 管理应用的人。若你用的是 root 用户,命令里的 sudo 可以保留,也可以去掉。

一、为什么 VPS 推荐安装 Docker

Docker 是一种容器化工具,可以把应用、依赖和运行环境打包在一起。对 VPS 新手来说,它最大的好处不是“高级”,而是少折腾系统环境:今天部署 Nginx,明天部署数据库,后天删除测试服务,Docker 都能把每个应用隔开,减少依赖冲突。

我通常建议 1 核 1GB 内存的 VPS 跑 1 到 3 个轻量容器,比如 Nginx、Uptime Kuma、简单的静态站点;如果要跑 MySQL、PostgreSQL、Elasticsearch、AI 面板这类服务,建议从 2GB 内存起步。磁盘方面,Docker 镜像和日志会慢慢增长,20GB 磁盘是比较舒服的下限。

二、安装前准备:先确认系统和配置

安装前先 SSH 登录 VPS,执行下面两条命令,确认系统版本和 CPU 架构:

cat /etc/os-release
uname -m

常见输出里,VERSION_CODENAME 会告诉你 Debian/Ubuntu 的代号,x86_64aarch64 会告诉你服务器架构。Docker 官方源支持主流 x86_64/amd64 和 arm64 架构,普通云服务器基本都没问题。

  • 权限:建议使用 root 登录,或者使用有 sudo 权限的用户。
  • 系统:新 VPS 优先选 Ubuntu 24.04 LTS 或 Debian 12/13。
  • 备份:生产机操作前先做快照,避免误删已有容器数据。
  • 网络:需要能访问 download.docker.com,否则添加官方源会失败。
防火墙提醒:Docker 发布端口后,部分规则可能绕过 UFW/firewalld 的直观配置。生产环境请把重要限制写到 DOCKER-USER 链,或者在云厂商安全组里限制来源 IP。

三、Ubuntu / Debian / CentOS 怎么选

如果你还没重装系统,小白优先选 Ubuntu 或 Debian。CentOS Stream 也能装,但包管理和排错资料对新手不如 Ubuntu/Debian 友好。

系统2026 推荐版本适合人群一句话建议
Ubuntu22.04 LTS、24.04 LTS、26.04 LTS新手、教程跟随者、Web 部署首选 Ubuntu 24.04 LTS,资料最多
Debian11、12、13追求稳定、轻量系统Debian 12/13 很适合长期跑服务
CentOS Stream9、10熟悉 RHEL 系生态的用户能用,但小白不要为了“看起来专业”硬选

四、Ubuntu 安装 Docker 教程

Ubuntu 安装 Docker 推荐使用 Docker 官方 APT 源。不要再用旧教程里的 apt-key,也不建议直接装系统源里的 docker.io,因为版本更新通常慢一些。

1. 卸载旧版本 Docker

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do
  sudo apt-get remove -y $pkg 2>/dev/null || true
done

新 VPS 如果没装过 Docker,这一步可能什么都不会删除,属于正常情况。

2. 添加官方源并安装 Docker

# 1. 更新软件包并安装依赖
sudo apt update
sudo apt install -y ca-certificates curl

# 2. 添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# 3. 添加 Docker 官方 APT 源
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

# 4. 更新索引并安装 Docker Engine + Compose V2
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3. 启动并验证

sudo systemctl enable --now docker
sudo systemctl status docker --no-pager
sudo docker run hello-world
docker compose version

如果看到 Hello from Docker!,说明 Docker Engine 已经能正常拉取镜像并运行容器;如果 docker compose version 能输出版本号,说明 Compose V2 也装好了。

五、Debian 安装 Docker 教程

Debian 的步骤和 Ubuntu 很像,区别在于 GPG 地址和软件源地址必须换成 Debian。很多安装失败,都是把 Ubuntu 源误贴到了 Debian 机器上。

1. 卸载旧版本 Docker

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do
  sudo apt-get remove -y $pkg 2>/dev/null || true
done

2. 添加官方源并安装 Docker

# 1. 更新软件包并安装依赖
sudo apt update
sudo apt install -y ca-certificates curl

# 2. 添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# 3. 添加 Docker 官方 APT 源
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

# 4. 更新索引并安装 Docker Engine + Compose V2
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3. 启动并验证

sudo systemctl enable --now docker
sudo docker run hello-world
docker compose version

Debian 12/13 上这套命令很干净,适合长期跑容器服务。如果你的 Debian 是测试版或衍生发行版,需要手动确认 VERSION_CODENAME 是否能对应 Docker 官方仓库。

六、CentOS Stream 安装 Docker 教程

CentOS Stream 使用 dnf 管理软件包。Docker 官方文档当前覆盖 CentOS Stream 9 和 10,如果你还在用 CentOS 7/8,建议先换系统,不要在旧系统上硬装。

1. 卸载旧版本 Docker

sudo dnf remove -y docker   docker-client   docker-client-latest   docker-common   docker-latest   docker-latest-logrotate   docker-logrotate   docker-engine 2>/dev/null || true

2. 添加官方仓库并安装 Docker

# 1. 安装 DNF 插件
sudo dnf -y install dnf-plugins-core

# 2. 添加 Docker 官方仓库
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 3. 安装 Docker Engine + Compose V2
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 4. 启动 Docker,并设为开机自启
sudo systemctl enable --now docker

安装时如果提示导入 GPG key,确认指纹为 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 后输入 y

3. 验证安装

sudo docker run hello-world
docker compose version
sudo systemctl status docker --no-pager

七、安装后必做配置

Docker 装好后,建议马上做三件事:确认开机自启、决定是否允许普通用户运行 Docker、限制容器日志大小。这几步能减少后面 80% 的小问题。

1. 设置开机自启

sudo systemctl enable docker
sudo systemctl is-enabled docker

2. 可选:让当前用户免 sudo 执行 Docker

sudo usermod -aG docker $USER
newgrp docker
docker ps

注意:加入 docker 组的用户基本等同于拥有 root 级别的容器控制能力。个人 VPS 为了方便可以这样做,多人服务器要慎重。

3. 限制 Docker 日志大小

很多 VPS 磁盘爆满,不是镜像太多,而是容器日志无限增长。建议创建或修改 /etc/docker/daemon.json

sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json

填入:

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}

保存后重启 Docker:

sudo systemctl restart docker
sudo docker info | grep -A3 "Logging Driver"

八、Docker Compose V2 使用示例

2026 年新装 Docker 时,推荐使用 Compose V2,也就是 docker compose,中间是空格,不是老版本的 docker-compose。下面用 Nginx 做一个最小示例。

mkdir -p ~/docker-nginx-demo && cd ~/docker-nginx-demo

cat > compose.yml <<'EOF'
services:
  nginx:
    image: nginx:alpine
    container_name: nginx-demo
    ports:
      - "8080:80"
    restart: unless-stopped
EOF

docker compose up -d
docker compose ps

然后访问 http://你的服务器IP:8080,能看到 Nginx 欢迎页就说明 Compose 正常。测试完成后可以删除容器:

cd ~/docker-nginx-demo
docker compose down

九、Docker 常用命令速查

用途命令说明
查看容器docker ps -a列出运行中和已停止的容器
查看镜像docker images看本机已下载的镜像
查看磁盘占用docker system df判断镜像、容器、卷占了多少空间
查看日志docker logs 容器名排错最常用
进入容器docker exec -it 容器名 shAlpine 镜像常用 sh,不一定有 bash
停止容器docker stop 容器名优雅停止
删除容器docker rm 容器名删除前先停止
清理无用资源docker system prune会删除停止容器和无用网络,执行前看提示

十、常见问题与排错

1. sudo docker run hello-world 拉取失败

先判断是 DNS、网络还是 Docker Hub 连接问题:

ping -c 4 download.docker.com
curl -I https://registry-1.docker.io/v2/

如果 DNS 不通,检查 VPS 网络或临时更换 DNS;如果 Docker Hub 连接慢,可以给镜像拉取配置合适的镜像源,但不要随便使用来路不明的第三方源。

2. permission denied while trying to connect to Docker daemon

这是当前用户没有权限访问 Docker socket。要么继续用 sudo docker,要么把用户加入 docker 组:

sudo usermod -aG docker $USER
newgrp docker

3. apt update 提示 Signed-By 或 GPG 错误

通常是旧教程残留的源文件和新源冲突。先检查 Docker 源文件:

ls -l /etc/apt/sources.list.d/ | grep docker
cat /etc/apt/sources.list.d/docker.sources

如果你之前用了 apt-key 老方法,建议删除旧的 docker.list,再按本文重新添加 docker.sources

4. CentOS 提示 No match for argument: docker-ce

先确认系统是 CentOS Stream 9 或 10,再确认仓库添加成功:

cat /etc/os-release
dnf repolist | grep docker
dnf list docker-ce --showduplicates | tail

如果系统太旧,直接重装到 Ubuntu 24.04、Debian 12/13 或 CentOS Stream 9/10,省时间。

FAQ:VPS 安装 Docker 常见疑问

VPS 装 Docker 需要多大配置?

轻量服务 1 核 1GB 可以开始用,建议磁盘不低于 20GB。跑数据库、面板、监控、AI 工具时,2GB 到 4GB 内存会舒服很多。

Docker 和宝塔面板能不能一起装?

能一起装,但小白不建议在同一台小内存 VPS 上同时堆太多管理工具。宝塔、Docker、数据库、反代服务都吃资源,1GB 机器很容易卡。

为什么不推荐直接 apt install docker.io?

docker.io 来自发行版软件源,版本可能滞后。本文使用 Docker 官方源安装 docker-ce,后续升级和 Compose V2 支持更直接。

可以用一键脚本安装 Docker 吗?

测试环境可以用 curl -fsSL https://get.docker.com | sh,但生产环境建议按官方仓库方式安装。执行任何从互联网下载的脚本前,都应该先阅读脚本内容。

Docker Compose V1 和 V2 有什么区别?

V1 常见命令是 docker-compose,V2 是 Docker CLI 插件,命令写作 docker compose。新 VPS 建议直接使用 V2。

参考资料

总结:2026 年在 VPS 上安装 Docker,Ubuntu/Debian 走官方 APT 源,CentOS Stream 走官方 RPM 源,安装包统一包含 docker-ce、CLI、containerd、Buildx 和 Compose V2。装完后先跑 hello-world,再设置开机自启和日志限制,这台 VPS 就可以开始部署容器服务了。

未经允许不得转载:AI赋能出海: 专业外贸独立站与智能解决方案提供商 » 2026 VPS 安装 Docker 教程:Ubuntu / Debian / CentOS 三系统完整指南