Ubuntu 24.04 安装 Docker

1. 清理旧版本

bash 复制代码
sudo apt remove docker docker-engine docker.io containerd runc

2. 更新系统并安装依赖工具

bash 复制代码
sudo apt update

sudo apt install -y \
    ca-certificates \
    curl \
    gnupg \
    lsb-release \
    software-properties-common

3. 添加 Docker 官方 GPG 密钥

使用阿里云镜像

bash 复制代码
# 创建密钥存储目录
sudo install -m 0755 -d /etc/apt/keyrings

# 下载并添加 Docker 的官方 GPG 密钥(使用阿里云镜像)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 设置密钥文件权限
sudo chmod a+r /etc/apt/keyrings/docker.gpg

4. 添加 Docker 软件源

使用阿里云镜像

bash 复制代码
# 添加 Docker 软件源(使用阿里云镜像)
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. 安装 Docker Engine

bash 复制代码
# 更新软件包索引
sudo apt update

# 安装 Docker
sudo apt install -y docker-ce docker-ce-cli containerd.io

# 检查安装的版本
docker --version

6. 配置国内Docker镜像加速器

注意,国内的加速器有些已经失效,有些限制了使用范围,优先使用 ping 排除失效的。

bash 复制代码
# 创建 Docker 配置目录(如果不存在)
sudo mkdir -p /etc/docker

# daemon.json 配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me",
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://<your_code>.mirror.aliyuncs.com"
  ]
}
EOF

# 重启 Docker 使加速配置生效
sudo systemctl daemon-reload
sudo systemctl restart docker

# 验证加速器是否生效
docker info | grep -i mirror

7. 验证安装

bash 复制代码
# 检查 Docker 服务状态
sudo systemctl status docker

# 运行测试容器
sudo docker run hello-world

8、说明

(1)镜像加速器地址无效

docker run hello-world

Unable to find image 'hello-world:latest' locally

docker: Error response from daemon: failed to resolve reference "docker.io/library/hello-world:latest": failed to do request: Head "https://hub-mirror.c.163.com/v2/library/hello-world/manifests/latest?ns=docker.io": dial tcp: lookup hub-mirror.c.163.com on 127.0.0.53:53: no such host

(2)镜像加速器限制了使用范围

docker run hello-world

Unable to find image 'hello-world:latest' locally

docker: Error response from daemon: unknown: failed to resolve reference "docker.io/library/hello-world:latest": unexpected status from HEAD request to https://xxxxxxxx.mirror.aliyuncs.com/v2/library/hello-world/manifests/latest?ns=docker.io: 403 Forbidden

限制在阿里云内部使用

相关推荐
是个西兰花2 小时前
进程间通信:匿名管道
linux·运维·服务器
小北方城市网2 小时前
Spring Cloud Gateway 生产级微内核架构设计与可插拔过滤器开发
java·大数据·linux·运维·spring boot·redis·分布式
Lenyiin2 小时前
Linux 进程控制
linux·运维·服务器
春日见2 小时前
Git 相关操作大全
linux·人工智能·驱动开发·git·算法·机器学习
述清-架构师之路3 小时前
vmWare的CentOS系统网路连不上处理记录
linux·运维·centos
郝学胜-神的一滴3 小时前
Linux网络字节序详解:从理论到实践
linux·服务器·c语言·开发语言·c++·网络协议·程序人生
实心儿儿3 小时前
Linux —— 进程概念 - 僵尸进程、孤儿进程
linux·运维·服务器
Trouvaille ~3 小时前
【Linux】线程概念与控制(一):线程本质与虚拟地址空间
linux·运维·服务器·c++·线程·虚拟地址空间·pcb
你才是臭弟弟3 小时前
Docker 容器使用运行镜像(Windows)
运维·docker·容器