服务器安装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系统编写,其它系统原理相同,但请其它系统用户检查命令准确性。

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

相关推荐
许彰午1 小时前
17-22-运维与高级主题
运维·网络
万联WANFLOW1 小时前
外贸独立站:服务器放海外国内后台卡,放国内海外客户打不开——这道两头难怎么破?
运维·网络·数据库·经验分享
跨境小彭1 小时前
Temu 店群自动化核价落地实践:告别人工熬夜议价,依托智能核价极速版规避操作亏损
运维·自动化·跨境电商·temu
池央1 小时前
NAS里的大文件怎么快速传?用Copyparty搭建轻量文件服务器
运维·服务器·cpolar
金海境科技1 小时前
【服务器数据恢复】H3C CAS虚拟化平台HP存储qcow2文件损坏快照丢失数据恢复案例
服务器·数据库·经验分享
发量惊人的中年网工2 小时前
AI服务器托管怎么选机房?GPU集群对机柜、电力和网络的硬要求
服务器·网络·人工智能
窝子面2 小时前
认识Docker与启动容器与镜像的关系
运维·docker·容器
玖玥拾2 小时前
Unity 3D 笔记(十五)Unity/C# Socket 网络笔记4
服务器·网络·unity·c#
编程序的员3 小时前
使用OpenTelemetry来监控GoLang应用
运维·golang·monitoring·apm·opentelemetry