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

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

相关推荐
方便面不加香菜4 小时前
Docker Container --容器及容器的操作案例详解
运维·docker·容器
测试界的小码农6 小时前
【Linux 命令实战(03):文件创建、复制、移动与删除,掌握 touch、mkdir、cp、mv、rm】
linux·服务器·php
|_⊙7 小时前
网络层协议 IP
服务器·网络·tcp/ip
叼烟扛炮7 小时前
Linux 学习笔记(六十):单线程的逆袭——epoll 高并发服务器实战
linux·服务器·网络·笔记·学习·算法
AR-26710-8 小时前
Linux Day32——实操五类资源告急排查
linux·运维
skywalk81638 小时前
hive 常驻集群:像 OSPF 一样在线,像 git 一样可信
运维·人工智能·hive
H.莓飛9 小时前
【C++】【STL】vector_OJ题
linux·服务器·开发语言·数据结构·c++·visual studio
Rabitebla9 小时前
【Linux操作系统】进程篇(十一):进程程序替换——从底层原理到 exec 函数族
linux·服务器·c++·笔记·学习·算法
沫璃染墨9 小时前
从零入门计算机网络系列(十五):TCP可靠传输机制详解——从序号与确认应答到乱序处理
服务器·网络·c++·tcp/ip·tcp
景煜拾年10 小时前
InnoAI SQL 助手
运维·数据库·笔记·sql