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
相关推荐
雯宝4 小时前
mnt_init 函数
linux
律宏阔10 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔10 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴10 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
EatFans10 小时前
Docker 实战部署:从本地镜像到云服务器,一篇走通 FastAPI + Celery + MySQL + Redis + Nginx
docker·fastapi
乱码三千10 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei3710 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei3710 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei3710 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
judezh10 小时前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker