在 Ubuntu VPS 上安装 Docker

在 Ubuntu VPS 上安装和使用 Docker 入门指南

Docker 是全球最流行的容器化平台。在 VPS 上运行 Docker,可以让您在几秒内部署应用程序、轻松扩展系统,并在开发到生产的所有阶段保持一致的环境。本指南将从安装基础到实际使用,带您全面了解 Docker。

目录

  1. 什么是 Docker?
  2. 为什么在 VPS 上使用 Docker?
  3. 系统要求
  4. 在 Ubuntu 上安装 Docker
  5. Docker 基础命令
  6. Docker Compose 多容器管理
  7. 实际应用场景
  8. VPS 上的 Docker 安全
  9. 常见问题 (FAQ)
  10. 总结

什么是 Docker?

Docker 是一个开源平台,用于在容器中构建、分发和运行应用程序。容器是一种轻量级、隔离的环境,将应用程序与其所有依赖项打包在一起。

三个核心概念:

💡 类比:镜像就像面向对象编程中的类,容器就像从该类实例化的对象。

为什么在 VPS 上使用 Docker?

传统 VPS 应用部署面临依赖冲突、扩展困难和环境不一致等问题。Docker 可以解决所有这些问题:

传统问题Docker 的解决方案
应用程序间依赖冲突每个容器拥有完全隔离的环境
复杂的部署流程使用 docker run 或 docker compose up 一键部署
扩展困难10 秒内启动新容器
"在我机器上能运行"问题所有阶段环境完全一致
回滚痛苦即时切换镜像版本

系统要求

安装 Docker 前,请确认您的 VPS 满足以下规格:

组件最低要求推荐配置
操作系统Ubuntu 20.04 LTSUbuntu 22.04 LTS 或更新版本
内存1 GB2 GB 或以上
存储 (SSD)10 GB 可用空间20 GB 或以上
CPU1 vCore2 vCore 或以上
访问权限SSH sudo 权限非 root 的 sudo 用户
⚠️ 注意:AsiaGB VPS 所有套餐均采用 SSD 存储,I/O 速度快,非常适合 Docker 工作负载。

在 Ubuntu 上安装 Docker

方法一:通过 apt 安装(最简单)

# 1. 更新软件包列表
sudo apt update

# 2. 安装 Docker
sudo apt install -y docker.io

# 3. 启用并启动 Docker
sudo systemctl enable --now docker

# 4. 验证 Docker 运行状态
sudo systemctl status docker

# 5. 将当前用户添加到 docker 组(避免每次使用 sudo)
sudo usermod -aG docker $USER

# 6. 重新登录后测试
docker run hello-world

方法二:安装 Docker CE(最新版本)

# 安装依赖
sudo apt install -y ca-certificates curl gnupg

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

# 添加 Docker 仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list

# 安装 Docker CE
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
✅ 验证安装:运行 docker --version 和 docker compose version 确认安装成功。

Docker 基础命令

最常用的 Docker 命令汇总:

命令用途示例
docker pull从仓库下载镜像docker pull nginx:latest
docker run创建并运行容器docker run -d -p 80:80 nginx
docker ps列出运行中的容器docker ps -a(显示全部)
docker stop停止容器docker stop my-container
docker rm删除容器docker rm my-container
docker exec在运行中的容器执行命令docker exec -it my-nginx bash
docker logs查看容器日志docker logs -f my-container

示例:运行 Nginx Web 服务器

# 在 8080 端口运行 Nginx
docker run -d --name my-nginx -p 8080:80 nginx:alpine

# 测试
curl http://localhost:8080

# 查看日志
docker logs my-nginx

# 停止并删除
docker stop my-nginx && docker rm my-nginx

Docker Compose 多容器管理

Docker Compose 允许通过单个 docker-compose.yml 文件定义和管理多容器应用程序。

示例:WordPress + MySQL + Redis 技术栈

version: '3.8'
services:
  db:
    image: mysql:8.0
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: secret
      MYSQL_DATABASE: wordpress
    volumes:
      - db_data:/var/lib/mysql

  wordpress:
    image: wordpress:latest
    restart: always
    depends_on:
      - db
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: secret

  redis:
    image: redis:alpine
    restart: always

volumes:
  db_data:

使用 docker compose up -d 启动,docker compose down 停止。

实际应用场景

Docker 在 VPS 上适用于多种工作负载:

💡 专业提示:AsiaGB 泰国 VPS(曼谷)Uptime 99%,非常适合运行需要低延迟的 Docker Web 服务。

VPS 上的 Docker 安全

Docker 增强了隔离性,但需要遵循以下安全最佳实践:

# 限制内存和 CPU
docker run -d --name my-app --memory="512m" --cpus="0.5" my-image

常见问题 (FAQ)

Docker 需要什么配置的 VPS?

基础 Docker 使用建议至少 1 GB 内存和 1 vCPU。同时运行多个容器时,推荐 2 GB 或以上内存。

Docker 和虚拟机有什么区别?

Docker 容器共享宿主机内核,比虚拟机轻量 10–20 倍。虚拟机需要运行完整的操作系统,资源消耗更大。

Docker Compose 和 Docker 有什么区别?

Docker Compose 通过 docker-compose.yml 文件同时管理多个容器,适合包含多个服务的应用,如 Web + 数据库 + 缓存。

如何在 Ubuntu 上安装 Docker?

运行:sudo apt update && sudo apt install -y docker.io && sudo systemctl enable --now docker,然后添加用户:sudo usermod -aG docker $USER。

Docker 镜像和容器有什么区别?

镜像是创建容器的蓝图,容器是从镜像运行的实例。一个镜像可以创建多个容器。

总结

在 Ubuntu VPS 上使用 Docker,开启了快速、灵活、易管理的应用部署新世界。只需简单的 apt install docker.io,几分钟内即可运行容器。

本指南涵盖:Docker 安装、基础命令、Docker Compose 多容器应用、实际应用场景和安全最佳实践。

需要运行 Docker 的 VPS?

AsiaGB 泰国 VPS — SSD 存储,Uptime 99%,DirectAdmin 控制面板。低至 ฿500/月。

查看泰国 VPS 套餐