linux-安装Ubuntu的docker

文章目录

一、准备工作

  1. 卸载旧版本
bash 复制代码
# 先清理系统残留
sudo apt remove -y docker docker-engine docker.io contained runc docker-compose
  1. 更新系统并安装依赖
bash 复制代码
# 更新软件源
sudo apt update

# 安装必要工具(证书、下载、加密)
sudo apt install -y ca-certificates curl gnupg lsb-release

二、添加Docker官方源

  1. 创建秘钥目录
bash 复制代码
sudo install -m 0755 -d /etc/apt/keyrings
  1. 导入Docker GPG密钥(验证包安全)
bash 复制代码
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
  1. 添加 Docker 官方 APT 源
bash 复制代码
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

三、安装Docker Engine

  1. 刷新源并安装
bash 复制代码
sudo apt update

# 查看可用版本
apt-cache madison docker-ce | head -20

# 安装最新稳定版(含 Compose 插件)
sudo apt install -y \
  docker-ce \
  docker-ce-cli \
  containerd.io \
  docker-buildx-plugin \
  docker-compose-plugin
  1. 安装docker-compose工具
bash 复制代码
sudo apt update && sudo apt install docker-compose -y

四、配置Docker

  1. 启动并配置开机自启
bash 复制代码
# 启动 Docker
sudo systemctl start docker

# 开机自启
sudo systemctl enable docker

# 查看状态(active (running) 即成功)
sudo systemctl status docker
  1. 免sudo使用Docker
    默认必须sudo才能够用docker,把当前用户加入docker
bash 复制代码
# 加入 docker 组
sudo usermod -aG docker $USER

# 立即生效(无需重启)
newgrp docker

# 无需sudo即可执行
docker info

五、配置国内镜像加速

bash 复制代码
# 创建配置目录
sudo mkdir -p /etc/docker

# 写入镜像源(阿里云、腾讯云、中科大)
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"
  ]
}
EOF

# 重启 Docker 生效
sudo systemctl restart docker

六、验证安装

  1. 查看版本
bash 复制代码
# Docker 版本
docker -v
# Docker Compose 版本(v2 插件)
docker compose version
相关推荐
IT邦德12 小时前
Dify1.6基于ubuntu系统的部署实战
linux·运维·ubuntu
吠品13 小时前
Java byte数组与String互转:编码细节与踩坑记录
java·linux·服务器
木白CPP14 小时前
Linux 驱动UART子系统源码分析
linux·运维·服务器·驱动开发·嵌入式硬件·开源软件
RisunJan14 小时前
Linux命令-times(进程累计时间显示)
linux·运维·chrome
holidaypenguin14 小时前
Docker 前端本地开发指南(实操版)
docker
fatcoder15 小时前
玩转Docker 08 — 实战:容器化真实后端并编排
后端·docker·容器
Titan202416 小时前
Linux网络基础知识
linux·服务器·网络·c++·学习
皮皮蟹虾饺16 小时前
NCCL 源码解析:通信器从出生到消亡的完整一生
linux·人工智能·ubuntu·语言模型·kubernetes
Java&Develop16 小时前
QuantDinger 宝塔 Linux 部署完整指南
linux·运维·状态模式
RisunJan17 小时前
Linux命令-tcpdump(网络数据包捕获)
linux·网络·tcpdump