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加密远程访问。