在云服务器上如何安装和配置Docker环境?

在云服务器上安装和配置 Docker 环境通常分为以下步骤(以 Ubuntu/Debian 为例,CentOS/RHEL 略有差异):


一、更新系统并安装必要工具

# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg lsb-release

# CentOS/RHEL (7+)
sudo yum install -y yum-utils

二、添加 Docker 官方 GPG 密钥和仓库

Ubuntu/Debian

# 创建 keyrings 目录并导入 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 
  $(lsb_release -cs) stable" | 
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

CentOS/RHEL

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

三、安装 Docker Engine

# Ubuntu/Debian
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# CentOS/RHEL
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

四、启动并设置开机自启

sudo systemctl enable --now docker

验证是否运行成功:

sudo systemctl status docker
docker --version

五、非 root 用户运行 Docker(可选但推荐)

将当前用户加入 docker 组,避免每次命令前加 sudo

sudo usermod -aG docker $USER
# 使组权限立即生效(需重新登录或执行 newgrp docker)
newgrp docker

⚠️ 注意:将用户加入 docker 组相当于赋予该用户 root 权限(可挂载宿主机文件系统),请谨慎操作。


六、配置镜像提速(国内用户强烈推荐)

编辑 /etc/docker/daemon.json(若不存在则新建):

{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

然后重启 Docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

替代方案:使用阿里云提速器(需注册获取专属地址)
例如:"https://<your-id>.mirror.aliyuncs.com"


七、测试安装

docker run hello-world

若看到欢迎信息,说明安装成功。


八、进阶配置(可选)

1. 配置日志驱动与大小限制(防止磁盘爆满)

继续编辑 /etc/docker/daemon.json

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

2. 配置安全策略(如禁用 HTTP 协议、启用 TLS)

参考官方文档:Docker Security


九、常见问题排查

  • Permission denied:检查用户是否在 docker 组,或尝试 sudo docker ...
  • 无法拉取镜像:检查网络、DNS、防火墙;尝试切换镜像源
  • Containerd 报错:确保 containerd 服务正常:systemctl status containerd

需要针对特定云厂商(如阿里云 ECS、腾讯云 CVM、AWS EC2)的优化建议,或想部署 Docker Compose 项目,也可以告诉我你的具体场景,我可以提供定制步骤。

未经允许不得转载:CLOUD技术博 » 在云服务器上如何安装和配置Docker环境?