服务器安装Docker教程。如何在云服务器安装Docker容器?

目录

  • [1. 清除旧版本防止冲突](#1. 清除旧版本防止冲突)
  • [2. 使用镜像源安装Docker](#2. 使用镜像源安装Docker)
  • [3. 配置国内Docker源镜像加速](#3. 配置国内Docker源镜像加速)
  • [4. 允许非 root 用户免 sudo 运行 Docker](#4. 允许非 root 用户免 sudo 运行 Docker)
  • [5. 设置 Docker 开机自启](#5. 设置 Docker 开机自启)

1. 清除旧版本防止冲突

如果你的系统之前尝试安装过 Docker,建议先彻底清理干净:

bash 复制代码
sudo apt-get remove docker docker-engine docker.io containerd runc

这样可以防止以前的安装残留干扰后续安装


2. 使用镜像源安装Docker

众所周知,国内的服务器/云服务器想要访问Docker会遇到网络问题,因此建议使用国内大厂提供的镜像源:

真的不是广告啊

  1. 更新 apt 包索引并安装基础依赖
bash 复制代码
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
  1. 添加阿里云的 Docker GPG 密钥
bash 复制代码
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  1. 将阿里云的 Docker 软件源写入系统列表
bash 复制代码
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. 再次更新索引并安装 Docker 核心及 Compose 插件
bash 复制代码
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
  1. 验证是否安装成功
bash 复制代码
docker --version
docker compose version

如果能正常输出版本号,说明安装成功。


3. 配置国内Docker源镜像加速

由于网络原因,在国内拉取 Docker 镜像非常容易超时,因此可以配置国内大厂提供的Docker镜像

防止你们说这个是阿里云镜像的广告,这里使用腾讯云

执行以下命令,直接创建并写入 Docker 配置文件:

bash 复制代码
sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com"
  ]
}
EOF

写入完成后,必须重启 Docker 服务使配置生效:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

检查加速是否生效:

bash 复制代码
sudo docker info

在输出的内容接近底部的位置,寻找 Registry Mirrors: 字样,如果下方显示 https://mirror.ccs.tencentyun.com,说明设置成功

4. 允许非 root 用户免 sudo 运行 Docker

默认情况下,只有 root 用户或者加 sudo 才能运行 Docker。

如果想要让你和你创建的新用户能直接运行docker,可以按需执行以下操作:

  • 如果你想让当前登录的用户免sudo执行,就把当前用户加入docker组
bash 复制代码
sudo usermod -aG docker $USER
  • 如果你想把创新创建的普通用户(假设用户名叫 tom)免sudo执行,那么就把它加入docker组
bash 复制代码
# 记得把 tom 改成你需要的用户名
sudo usermod -aG docker tom

5. 设置 Docker 开机自启

确保服务器因为意外重启或用户手动重启后,Docker 能够自己跑起来:

bash 复制代码
sudo systemctl enable docker
sudo systemctl enable containerd

免责声明

本教程针对Ubuntu系统编写,其它系统原理相同,但请其它系统用户检查命令准确性。

本教程已在本人服务器上正确完成运行,但不保证每台机器环境相同,请提前做好备份工作!

相关推荐
九硕智慧建筑一体化厂家8 小时前
数字化管控落地,直流照明构筑安全照明体系
运维·人工智能·笔记·安全·智慧城市
波波0078 小时前
C# 15 重磅新特性: 带标签 break 与 continue:重新定义嵌套循环控制流
服务器·前端·c#
刘某的Cloud9 小时前
ceph osd 导入导出 rbd volume 卷
linux·运维·ceph·volume
隔窗听雨眠11 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle
神奇霸王龙12 小时前
Agent 准入门控屠夫:5 旗舰 4 维度评估
linux·运维·数据库·ai·ai作画·agent·ai编程
鲸采云SRM采购管理系统12 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
cfm_291412 小时前
基于Binlog实现不停机数据库平滑迁移技术
运维·数据库·架构
迪康Defender12 小时前
AI 重构终端安全运营:智能分析中枢 AI Insight 模块架构与落地场景深度解析
运维·网络·人工智能·其他·安全·重构·架构
那年窗外下的雪.12 小时前
AIDC 学习日志 第 04 天 BGP Underlay 基础与路由选择
服务器·学习·php
0x5313 小时前
Java网络编程(二)
java·服务器·网络