ubuntu22.04 安装Docker

一、更新系统包索引

bash 复制代码
sudo apt update && sudo apt upgrade -y

二、安装必要依赖

安装 curlgnupg等工具,用于添加 Docker 官方 GPG 密钥和仓库:

bash 复制代码
sudo apt install -y ca-certificates curl gnupg

三、添加 Docker 官方 GPG 密钥

bash 复制代码
sudo install -m 0755 -d /etc/apt/keyrings  # 创建密钥存储目录(若不存在)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg  # 导入密钥
sudo chmod a+r /etc/apt/keyrings/docker.gpg  # 确保所有用户可读

四、添加 Docker 官方 APT 仓库

bash 复制代码
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

五、安装 Docker 引擎

bash 复制代码
sudo apt update  # 刷新仓库缓存
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

六、配置镜像加速器

bash 复制代码
vi /etc/docker/daemon.json
bash 复制代码
{
  "registry-mirrors": [
    "https://docker.1ms.run"
  ]
}

七、重启docker

bash 复制代码
sudo systemctl restart docker

八、验证 Docker 安装

复制代码
sudo docker run hello-world
bash 复制代码
Hello from Docker!
This message shows that your installation appears to be working correctly.
...

可选:免 sudo 使用 Docker(推荐)​

默认情况下,只有 root用户或 docker组的用户可以执行 Docker 命令。为了避免每次使用 sudo,可以将当前用户添加到 docker组:

1.创建 docker组(若不存在):

bash 复制代码
sudo groupadd docker

2.将当前用户加入 docker组:

bash 复制代码
sudo usermod -aG docker $USER

3.生效组权限(需重新登录或执行以下命令):

bash 复制代码
newgrp docker

4.验证免 sudo权限:

bash 复制代码
docker run hello-world  # 无需 sudo
相关推荐
云飞云共享云桌面3 分钟前
非标自动化工厂的设计云桌面为什么要选云飞云智能共享云桌面?
大数据·运维·服务器·网络·自动化·负载均衡
oMcLin4 分钟前
如何在CentOS 8上配置并优化Docker与Kubernetes结合的容器集群,提升微服务部署效率?
docker·kubernetes·centos
翼龙云_cloud19 分钟前
阿里云渠道商:阿里云自动扩缩容配置教程
运维·服务器·阿里云·云计算
别多香了29 分钟前
系统批量运维管理器 paramiko
linux·运维·服务器
习惯就好zz35 分钟前
在 Ubuntu 18.04 旧系统上部署新版 GitHub Actions Runner 的终极方案
linux·ubuntu·github·cicd·action
杨云龙UP36 分钟前
Linux LVM 在线扩容标准操作流程_20260102
linux·运维·服务器·centos·ux
微凉的衣柜43 分钟前
Windows Server 使用 Nginx 反向代理实现域名访问内网 Gradio 应用
运维·windows·nginx
warton8844 分钟前
ubuntu24.04 安装mysql8.0.36
linux·运维·mysql
运维有小邓@1 小时前
如何实现基于角色的访问控制?
运维·网络
范纹杉想快点毕业1 小时前
嵌入式通信核心架构:从状态机、环形队列到多协议融合
linux·运维·c语言·算法·设计模式