TOP云提供高性价比云服务器租用,有中国内地/港澳台、海外等全球各地节点,TOP云国内云服务器只要有域名备案号就能直接用,无须重复备案;港澳台及海外云服务器不用备案,购买之后直接使用,省时省力省心。价格实惠,续费同价,2核2G5M仅需27元每月,8核8G50M仅需66元每月,更多配置套餐请进入下面网址了解:

TOP云总站云服务器:https://topyun.vip/server/buy.html

TOP云C站云服务器:https://c.topyun.vip/cart

在云服务器上安装 Docker 是部署容器化应用的必备步骤。以下是针对 Linux系统(Ubuntu/CentOS) 的详细安装指南,涵盖从环境准备到验证的全流程,并附上常见问题解决方案。


一、安装前的准备

1. 系统要求

  • 推荐系统:Ubuntu 20.04/22.04 或 CentOS 7/8(较新内核支持Docker)。

  • 云服务器:确保有公网IP(国内需备案,海外无需备案)。

  • 用户权限:建议使用root用户或具有sudo权限的普通用户。

2. 卸载旧版本(如有)

  • Ubuntu/Debian

    sudo apt remove docker docker-engine docker.io containerd runc
  • CentOS/RHEL

    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

二、安装Docker(以Ubuntu 22.04为例)

1. 更新系统包索引

sudo apt update

2. 安装依赖工具

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

3. 添加Docker官方GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

4. 添加Docker软件源

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. 安装Docker Engine

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

6. 验证安装

  • 检查Docker版本:

    docker --version
  • 运行测试容器:

    sudo docker run hello-world
    • 如果看到Hello from Docker!,说明安装成功。


三、安装Docker(以CentOS 7为例)

1. 更新系统

sudo yum update -y

2. 安装依赖工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3. 添加Docker软件源

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

4. 安装Docker Engine

sudo yum install -y docker-ce docker-ce-cli containerd.io

5. 启动并设置开机自启

sudo systemctl start docker
sudo systemctl enable docker

6. 验证安装

  • 运行测试容器:

    sudo docker run hello-world

四、非root用户使用Docker(可选但推荐)

默认情况下,Docker需要sudo权限。为了让普通用户直接使用Docker,需将用户加入docker组:

sudo usermod -aG docker $USER  # 将当前用户加入docker组
newgrp docker                  # 立即生效(或重新登录)
  • 验证

    docker run hello-world # 无需sudo

五、配置Docker镜像加速(国内必备)

国内访问Docker Hub较慢,建议配置镜像加速器(如阿里云、腾讯云提供的地址)。

1. 编辑Docker配置文件

sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json
  • 添加以下内容(以阿里云为例,需替换your_id为你的加速器地址):

    { "registry-mirrors": ["https://your_id.mirror.aliyuncs.com"] }
  • 常用镜像加速器地址

    • 阿里云:登录阿里云容器镜像服务获取。

    • 腾讯云:https://mirror.ccs.tencentyun.com。

    • 网易云:https://hub-mirror.c.163.com。

2. 重启Docker生效

sudo systemctl restart docker

六、安装Docker Compose(可选)

Docker Compose用于管理多容器应用(如Web+数据库)。

1. 下载二进制文件

sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2. 赋予执行权限

sudo chmod +x /usr/local/bin/docker-compose

3. 验证安装

docker-compose --version

七、安全加固

1. 限制Docker API访问(默认监听2375)

  • 编辑Docker配置文件:

    sudo nano /etc/docker/daemon.json
  • 添加以下内容(仅允许本地访问):

    { "hosts": ["unix:///var/run/docker.sock"] }
  • 重启Docker:

    sudo systemctl restart docker

2. 防火墙开放端口(如需远程访问)

  • 仅允许SSH和Docker必要端口

    sudo ufw allow 22/tcp  # SSH
    sudo ufw allow 2376/tcp  # Docker TLS(如果启用)
    sudo ufw enable

3. 定期更新Docker

sudo apt update && sudo apt upgrade -y docker-ce docker-ce-cli containerd.io  # Ubuntu
sudo yum update -y docker-ce docker-ce-cli containerd.io  # CentOS

八、常见问题

1. docker: command not found

  • 原因:Docker未正确安装或环境变量未配置。

  • 解决:检查安装步骤,确保/usr/bin/docker存在。

2. Cannot connect to the Docker daemon

  • 原因:Docker服务未运行或用户不在docker组。

  • 解决:

    sudo systemctl start docker
    sudo usermod -aG docker $USER && newgrp docker

3. 镜像下载慢

  • 原因:未配置国内镜像加速器。

  • 解决:按步骤配置daemon.json中的registry-mirrors。

4. 权限问题(需sudo)

  • 原因:用户未加入docker组。

  • 解决:执行sudo usermod -aG docker $USER && newgrp docker。

5. Docker Compose版本冲突

  • 原因:系统中存在旧版docker-compose。

  • 解决:卸载旧版后重新安装(参考步骤六)。


九、总结

步骤操作
1. 系统准备更新系统,卸载旧版Docker。
2. 安装Docker根据系统选择安装方式(Ubuntu/CentOS)。
3. 配置加速修改daemon.json添加国内镜像源。
4. 非root使用将用户加入docker组。
5. 安全加固限制API访问,配置防火墙。
6. 验证运行hello-world测试容器。

推荐方案

  • 个人开发/测试:直接按步骤安装,配置镜像加速。

  • 生产环境:建议使用Docker Compose管理多容器,并启用TLS加密远程访问。


不容错过
Powered By TOPYUN 云产品资讯