本文为 Ubuntu 20.04 发行版 安装 docker 如果不知道 自己系统发行版可以使用如下命令查看
一、查看系统发行版
我只使用了1 就查看到 我想要的信息, 往下的命令没有使用
1. 查看发行版名称和版本号
lsb_release -a
- 输出示例:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.4 LTS
Release: 20.04
2. 查看系统版本文件
cat /etc/os-release
- 输出示例(来源于AI):
NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 22.04.3 LTS"
VERSION_ID="22.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
-
适用性:所有支持systemd的现代Linux发行版(如Ubuntu、Debian、CentOS、Fedora等)。
3. 查看Red Hat系发行版
cat /etc/redhat-release
- 输出示例(来源于AI):
CentOS Linux release 7.9.2009 (Core)
-
适用性:CentOS、RHEL(Red Hat Enterprise Linux)、Fedora等。
4. 查看内核版本(通用)
uname -a
- 输出示例(来源于AI):
Linux ubuntu 5.15.0-78-generic #85-Ubuntu SMP Fri Jul 7 15:25:09 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
-
作用:显示内核版本和系统架构(非发行版版本)。
5. 快速查看简略信息
hostnamectl
- 输出示例(来源于AI):
Static hostname: ubuntu
Icon name: computer-vm
Chassis: vm
Machine ID: 1234567890abcdef1234567890abcdef
Boot ID: 1234567890abcdef1234567890abcdef
Virtualization: kvm
Operating System: Ubuntu 22.04.3 LTS
Kernel: Linux 5.15.0-78-generic
Architecture: x86-64
- 适用性:systemd管理的系统(现代主流发行版均支持)。
二、 安装前可以查看是否安装过docker
方法1:检查 Docker 命令是否存在
docker --version
-
若已安装:会显示版本号(如
Docker version 24.0.7, build afdd53b) -
若未安装:提示
command not found: docker或docker: command not found
方法 2:检查 Docker 服务状态
systemctl status docker
-
若已安装且运行中:显示
Active: active (running)状态 -
若未安装:提示
Unit docker.service could not be found
方法 3:检查 Docker 相关进程
ps aux | grep dockerd
-
若已运行:会显示
dockerd守护进程 -
若未运行:仅显示
grep自身的进程
还有其他方法如检查 Docker 软件包、检查 Docker 二进制文件路径、检查 Docker 卸载残留等等
三、卸载旧版本docker(如果有,且需要卸载)
sudo apt remove docker docker-engine docker.io containerd runc
四、更新软件包索引
sudo apt update
五、安装依赖工具
sudo apt install -y \
ca-certificates \
curl \
gnupg \
software-properties-common
如果按照以上代码出错 比如未找到命令 可以单独安装每个依赖(但是实际在APT中,可以一次安装多个包,分开写的话虽然可以,但效率较低,因为每次执行`apt install`都会更新索引)
# 1. 安装 CA 证书(用于 HTTPS 安全连接)
sudo apt install -y ca-certificates
# 2. 安装 curl(用于下载文件)
sudo apt install -y curl
# 3. 安装 GnuPG(用于密钥管理)
sudo apt install -y gnupg
# 4. 安装软件源管理工具
sudo apt install -y software-properties-common
六、添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
1. 命令结构解析
这条命令由两个主要部分组成,通过管道符 | 连接:
-
前半部分:
curl -fsSL https://...
作用:下载 Docker 的 GPG 公钥文件 -
后半部分:
sudo gpg --dearmor -o /usr/...
作用:将下载的密钥转换为系统可识别的格式并保存
2. 逐参数详解
1. curl 部分
curl -fsSL https://download.docker.com/linux/ubuntu/gpg
-
curl:命令行工具,用于通过 URL 传输数据 -
-f(--fail):如果 HTTP 响应状态码 >=400(如404错误),静默失败不输出错误页面 -
-s(--silent):静默模式,不显示进度或错误信息 -
-S(--show-error):与-s配合使用时,如果失败仍显示错误信息 -
-L(--location):如果服务器返回重定向(如 3xx 状态码),自动跟随新地址 -
https://download.docker.com/...:Docker 官方 GPG 公钥的下载地址
2. gpg 部分
sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
-
sudo:以管理员权限执行命令(需要写入系统目录) -
gpg:GNU Privacy Guard,用于管理加密密钥的工具 -
--dearmor:将二进制格式的 GPG 密钥转换为 ASCII 文本格式(反向操作为--enarmor) -
-o:指定输出文件路径 -
/usr/share/keyrings/...:现代 Linux 系统推荐存储密钥环的目录
3.验证执行结果
# 查看密钥文件是否存在
ls -l /usr/share/keyrings/docker-archive-keyring.gpg
# 查看密钥指纹信息(需安装 gnupg)
gpg --show-keys /usr/share/keyrings/docker-archive-keyring.gpg
七、添加Docker仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
1.命令结构拆解
这条命令由两部分组成,通过管道符 | 连接:
-
前半部分:
echo "deb [...] stable"
生成 Docker 软件源的配置文件内容。 -
后半部分:
sudo tee /etc/apt/... > /dev/null
将生成的内容写入系统指定位置。
2.逐参数详解
1. 软件源格式解析
生成的软件源字符串:
deb [arch=架构类型 signed-by=密钥路径] 仓库地址 发行版代号 仓库分支
-
deb:表示这是一个 Debian 系的二进制软件仓库。 -
arch=$(dpkg --print-architecture):-
动态获取当前系统的 CPU 架构(如
amd64、arm64)。 -
dpkg --print-architecture命令返回本机架构。
-
-
signed-by=/usr/share/keyrings/docker-archive-keyring.gpg:-
指定验证此仓库的 GPG 密钥路径(通过上一步骤导入的密钥)。
-
确保只在此仓库中使用该密钥,避免全局信任。
-
-
https://download.docker.com/...:Docker 官方仓库的 HTTPS 地址。 -
$(lsb_release -cs):-
动态获取当前 Ubuntu 系统的发行版代号(如
focal对应 20.04)。 -
lsb_release -cs返回类似jammy(22.04)的代号。
-
-
stable:表示使用稳定版仓库分支。
2. 写入系统配置
-
| sudo tee /etc/apt/sources.list.d/docker.list:-
tee命令将输入内容写入文件并输出到屏幕。 -
使用
sudo确保有权限写入系统目录。
-
-
> /dev/null:-
将
tee的输出重定向到空设备,避免终端显示冗余信息。
-
3.验证执行结果
cat /etc/apt/sources.list.d/docker.list
正常输出为:
deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu focal stable
八、安装docker引擎
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
如果出现连接超时错误可以将 镜像更换成国内镜像源
下面是清华大学镜像源
sudo sed -i 's/mirrors.aliyun.com/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list.d/docker.list
sudo apt-get update
阿里镜像源
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

1万+

被折叠的 条评论
为什么被折叠?



