加油
努力

在阿里云轻量服务器上如何安装和配置Docker?

在阿里云轻量应用服务器(Lighthouse)上安装和配置 Docker 非常简单,因为轻量服务器默认支持主流 Linux 发行版(如 Ubuntu、Debian、CentOS 等)。以下是基于 Ubuntu 20.04/22.04CentOS 7/8 的详细步骤,其他系统可参考对应包管理器。


✅ 一、准备工作

  1. 登录服务器

    • 通过 SSH 或阿里云控制台“远程连接”登录你的轻量服务器。
    • 确保使用 root 用户或有 sudo 权限的普通用户。
  2. 更新系统软件源

    # Ubuntu / Debian
    sudo apt update && sudo apt upgrade -y
    
    # CentOS / RHEL
    sudo yum update -y

✅ 二、安装 Docker(推荐官方脚本方式)

方法 A:使用官方一键安装脚本(推荐,自动适配系统)

curl -fsSL https://get.docker.com | bash -s -- --mirror Aliyun

💡 说明:阿里云镜像源已内置在该脚本中,下载更快。若网络异常可改用国内镜像源(见下文备选方案)。

安装完成后验证:

docker --version
sudo systemctl status docker

方法 B:手动安装(适用于需要精细控制版本)

🐧 Ubuntu / Debian

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

# 添加 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

# 设置仓库
echo 
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu 
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 启动并设置开机自启
sudo systemctl enable --now docker

🐧 CentOS / RHEL

# 安装依赖
sudo yum install -y yum-utils

# 配置阿里云镜像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

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

✅ 三、配置 Docker 提速(可选但强烈推荐)

由于国内网络限制,建议配置阿里云提速器或国内镜像镜像站:

创建/编辑 /etc/docker/daemon.json

sudo nano /etc/docker/daemon.json

填入以下内容(以阿里云为例):

{
  "registry-mirrors": [
    "https://docker.mirrors.aliyun.com"
  ],
  "insecure-registries": [],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "50m",
    "max-file": "3"
  }
}

⚠️ 注意:

  • 若之前已有内容,请保留原有字段,仅添加 "registry-mirrors"
  • 修改后需重启 Docker:sudo systemctl daemon-reload && sudo systemctl restart docker

✅ 四、非 root 用户运行 Docker(避免每次加 sudo)

# 将当前用户加入 docker 组
sudo usermod -aG docker $USER

# 生效(重新登录或执行以下命令)
newgrp docker

验证:

docker run hello-world

✅ 五、常见问题排查

问题 解决方案
Permission denied while trying to connect to the Docker daemon socket 检查是否已加入 docker 组,或临时用 sudo docker ...
拉取镜像慢 确认 daemon.json 中的 registry-mirrors 配置正确且 Docker 已重启
端口未开放 在阿里云控制台 → 实例详情 → “安全组”规则中放行所需端口(如 80, 443, 3000 等)

✅ 六、快速测试

# 运行一个 Nginx 容器
docker run -d -p 8080:80 --name my-web nginx

# 访问 http://<你的公网IP>:8080 查看效果
docker ps
docker logs my-web

如需进一步集成 Kubernetes、Portainer 管理界面或 CI/CD,可继续扩展部署。需要我提供这些进阶方案吗?

云服务器