Linux系统安装docker

本文为 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. 命令结构解析

这条命令由两个主要部分组成,通过管道符 | 连接:

  1. 前半部分curl -fsSL https://...
    作用:下载 Docker 的 GPG 公钥文件

  2. 后半部分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.命令结构拆解

这条命令由两部分组成,通过管道符 | 连接:

  1. 前半部分echo "deb [...] stable"
    生成 Docker 软件源的配置文件内容。

  2. 后半部分sudo tee /etc/apt/... > /dev/null
    将生成的内容写入系统指定位置。

2.逐参数详解

1. 软件源格式解析

生成的软件源字符串:

deb [arch=架构类型 signed-by=密钥路径] 仓库地址 发行版代号 仓库分支
  • deb:表示这是一个 Debian 系的二进制软件仓库。

  • arch=$(dpkg --print-architecture)

    • 动态获取当前系统的 CPU 架构(如 amd64arm64)。

    • 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值