在Ubuntu系统上如何为轻量服务器部署Docker环境?

在 Ubuntu 系统上为轻量服务器(如阿里云 ECS、腾讯云 CVM、华为云云耀云服务器等)部署 Docker,核心逻辑是统一的。虽然不同云厂商的镜像源或安全组策略略有差异,但底层安装步骤基本一致。

以下是基于当前主流 LTS 版本(Ubuntu 20.04/22.04)的生产级部署方案,重点在于安全性性能优化以及国内网络环境的适配

1. 基础环境准备与清理

首先登录服务器,执行系统更新并清理旧版残留(如果之前尝试过安装),避免依赖冲突。

# 更新软件包索引
sudo apt update && sudo apt upgrade -y

# 卸载旧版本 Docker(如果有)
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do 
    sudo apt remove $pkg -y 
done

2. 配置国内镜像源(关键步骤)

由于 Docker Hub 在国内访问不稳定,直接拉取镜像极易超时。建议在安装前配置国内镜像提速器,推荐使用阿里云或腾讯云提供的官方提速地址(需先注册对应云平台账号获取专属地址)。

创建或编辑配置文件 /etc/docker/daemon.json

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json << 'EOF'
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://huecker.io",
    "https://dockerhub.timeweb.cloud"
  ],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  },
  "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

注:registry-mirrors 中的地址请替换为你所在云厂商提供的真实提速地址,上述地址仅为示例。同时,exec-opts 的配置是为了让 Docker 与 systemd 完美协同,防止容器内进程管理异常。

3. 安装 Docker 官方源

不要直接使用 apt install docker.io(该版本通常较老且功能受限),应使用 Docker 官方提供的 APT 仓库以确保获得最新稳定版。

步骤如下:

  1. 安装必要依赖

    sudo apt install ca-certificates curl gnupg lsb-release -y
  2. 添加 Docker 官方 GPG 密钥

    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  3. 设置软件源

    echo 
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu 
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  4. 安装 Docker Engine, CLI 和 Containerd

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

4. 启动服务与权限配置

安装完成后,启动 Docker 服务并将其设置为开机自启。为了后续操作方便,将当前用户加入 docker 用户组,避免每次执行命令都要加 sudo

# 启动并启用服务
sudo systemctl enable --now docker

# 验证安装
docker version
docker info

# 添加当前用户到 docker 组(注意:$USER 变量代表当前登录用户)
sudo usermod -aG docker $USER

# 重新加载组信息(无需重启,但建议注销重登)
newgrp docker

5. 轻量服务器特有优化与安全加固

在公有云轻量服务器上,还需关注以下两点:

  • 安全组配置
    确保云控制台的安全组规则中,已放行 Docker 默认端口(通常是 2375 用于远程管理,生产环境严禁直接开放;如果是运行业务容器,需根据业务需求开放 80, 443, 自定义端口等)。Docker 守护进程默认监听 Unix Socket (/var/run/docker.sock),无需额外开放 TCP 端口给公网。

  • 内存限制调整
    轻量服务器(特别是 1核 1G 或 2G 内存的实例)资源紧张。Docker 默认可能占用较多内存。可以通过修改 /etc/docker/daemon.json 限制资源:

    {
      "default-ulimits": {
        "nofile": {
          "Name": "nofile",
          "Hard": 65535,
          "Soft": 65535
        }
      },
      "storage-driver": "overlay2",
      "storage-opts": [
        "overlay2.override_kernel_check=true"
      ]
    }

    注:overlay2 是 Linux 内核推荐的高效存储驱动,务必保持开启。

修改配置后需重启 Docker:

sudo systemctl restart docker

6. 验证与测试

最后,运行一个测试容器确认一切正常。由于配置了镜像提速,这一步应该很快完成。

# 运行 Hello World 容器
docker run hello-world

# 查看容器列表
docker ps -a

总结

在 Ubuntu 轻量服务器上部署 Docker,关键在于使用官方源而非发行版自带源,以及提前配置国内镜像提速。完成上述步骤后,你的服务器即可稳定运行各类容器化应用。对于生产环境,建议配合 docker-compose 进行编排管理,并定期通过 docker system prune 清理无用数据以节省磁盘空间。

未经允许不得转载:CLOUD云枢 » 在Ubuntu系统上如何为轻量服务器部署Docker环境?