ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 在 Ubuntu 22.04 及更早版本上安装 Docker 的完整指南

在 Ubuntu 22.04 及更早版本上安装 Docker 的完整指南

投稿 Linux操作系统 作者:bhluo 时间:2025-11-17 13:45:21 0 删除 编辑

# 在 Ubuntu 22.04 及更早版本上安装 Docker 的完整指南


Docker 作为主流的容器化技术,在 Ubuntu 系统上的部署是许多开发者和运维人员的必备技能。本文将详细介绍在 Ubuntu 22.04、20.04 和 18.04 等版本上安装 Docker 的多种方法,帮助您根据实际需求选择最适合的安装方式。


## 环境准备与系统要求


在开始安装之前,需要确保系统满足基本要求。Docker 支持 x86_64(或 amd64)、armhf、arm64 和 s390x 架构的 Ubuntu 系统。建议使用 Ubuntu 的长期支持版本,如 18.04、20.04 或 22.04。


首先更新系统软件包并安装必要的依赖:


```bash

# 更新系统软件包列表

sudo apt update

sudo apt upgrade -y


# 安装基础依赖工具

sudo apt install -y \

    apt-transport-https \

    ca-certificates \

    curl \

    gnupg \

    lsb-release

```


检查当前系统版本信息:


```bash

# 查看 Ubuntu 版本详情

lsb_release -a


# 或者查看版本文件

cat /etc/os-release

```


## 方法一:使用官方脚本快速安装


Docker 官方提供了一个便捷的安装脚本,适合快速部署和测试环境:


```bash

# 下载安装脚本

curl -fsSL https://get.docker.com -o get-docker.sh


# 执行安装

sudo sh get-docker.sh


# 安装完成后添加用户到 docker 组

sudo usermod -aG docker $USER

```


**注意**:使用脚本安装前建议查看脚本内容,了解其执行的具体操作。生产环境建议使用仓库安装方式以获得更好的维护性。


安装完成后需要重新登录或启动新的 shell 会话,以便组权限生效:


```bash

# 验证安装

docker --version

docker run hello-world

<"live.share.hbgufen.com">

<"wap.share.hbgufen.com">

<"share.share.hbgufen.com">

```


## 方法二:通过仓库安装


这是推荐的安装方式,便于后续管理和更新。


### 设置 Docker 仓库


首先添加 Docker 的官方 GPG 密钥:


```bash

# 创建密钥环目录

sudo install -m 0755 -d /etc/apt/keyrings


# 下载并导入 Docker 官方 GPG 密钥

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

```


添加 Docker 软件仓库:


```bash

# 根据系统架构设置仓库

echo \

  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \

  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \

  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


# 更新软件包索引

sudo apt update

```


### 安装 Docker 引擎


现在可以安装 Docker 及其组件:


```bash

# 安装 Docker 引擎

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin


# 启动 Docker 服务并设置开机自启

sudo systemctl start docker

sudo systemctl enable docker

<"gov.cn.hbgufen.com">

<"nba.share.hbgufen.com">

<"www.share.okjiabao.com">


# 验证服务状态

sudo systemctl status docker

```


## 方法三:使用包文件手动安装


在某些无法访问互联网的环境中,可以手动下载 DEB 包进行安装。


访问 Docker 下载页面获取特定版本的包文件,或使用命令行工具:


```bash

# 下载特定版本的 Docker

cd /tmp

wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce_20.10.12~3-0~ubuntu-focal_amd64.deb

wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce-cli_20.10.12~3-0~ubuntu-focal_amd64.deb

wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/containerd.io_1.4.12-1_amd64.deb


# 安装下载的包文件

sudo dpkg -i *.deb


# 修复可能的依赖问题

sudo apt install -f

```


## 安装后的配置与优化


Docker 安装完成后,需要进行一些基本配置以优化使用体验。


### 配置用户权限


为了避免每次使用 docker 命令都需要 sudo,将用户添加到 docker 组:


```bash

# 添加用户到 docker 组

sudo usermod -aG docker $USER


# 确认组成员身份

groups $USER

```


### 配置镜像加速器


对于国内用户,配置镜像加速器可以显著提升镜像拉取速度:


```bash

# 创建 Docker 配置目录

sudo mkdir -p /etc/docker


# 配置镜像加速器

sudo tee /etc/docker/daemon.json <<EOF

{

  "registry-mirrors": [

    "https://registry.docker-cn.com",

    "https://docker.mirrors.ustc.edu.cn"

  ],

  "log-driver": "json-file",

  "log-opts": {

    "max-size": "100m"

<"share.m.okjiabao.com">

<"tv.share.okjiabao.com">

<"read.share.okjiabao.com">

  }

}

EOF


# 重新加载配置并重启服务

sudo systemctl daemon-reload

sudo systemctl restart docker

```


### 验证安装结果


进行全面的安装验证:


```bash

# 检查 Docker 版本信息

docker --version

docker-compose --version


# 测试基础功能

docker run --rm hello-world


# 检查系统信息

docker info


# 测试镜像拉取和运行

docker pull ubuntu:20.04

docker run -it --rm ubuntu:20.04 cat /etc/os-release

```


## 常见问题排查


### 服务启动失败


如果 Docker 服务无法启动,检查服务状态和日志:


```bash

# 查看服务状态

sudo systemctl status docker


# 查看详细日志

sudo journalctl -u docker.service


# 检查内核支持

uname -r

```


### 网络连接问题


配置 Docker 网络和代理:


```bash

# 创建 Docker 服务目录

sudo mkdir -p /etc/systemd/system/docker.service.d


# 配置 HTTP 代理(如需要)

sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf <<EOF

[Service]

Environment="HTTP_PROXY=http://proxy.example.com:8080"

Environment="HTTPS_PROXY=http://proxy.example.com:8080"

Environment="NO_PROXY=localhost,127.0.0.1"

<"share.tv.okjiabao.com">

<"live.share.okjiabao.com">

<"wap.share.okjiabao.com">

EOF


# 重新加载配置

sudo systemctl daemon-reload

sudo systemctl restart docker

```


### 存储驱动问题


检查并配置存储驱动:


```bash

# 检查当前存储驱动

docker info | grep "Storage Driver"


# 查看可用存储驱动

sudo docker info | grep "Storage Driver"

```


## 安装 Docker Compose


虽然 Docker Engine 已经包含了 compose 功能,但独立版本的 Docker Compose 在某些场景下仍有价值:


```bash

# 下载 Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/download/v2.15.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose


# 设置执行权限

sudo chmod +x /usr/local/bin/docker-compose


# 创建符号链接

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose


# 验证安装

docker-compose --version

```


## 版本兼容性说明


不同 Ubuntu 版本与 Docker 版本的兼容性需要注意:


- **Ubuntu 22.04**:支持 Docker 所有当前功能

- **Ubuntu 20.04**:完全支持,是稳定的选择

- **Ubuntu 18.04**:支持但建议升级到更新的版本


检查内核版本对 Docker 功能的支持:


```bash

# 检查内核版本和功能

uname -r

cat /proc/sys/kernel/randomize_va_space


# 检查 cgroups 支持

cat /proc/filesystems | grep cgroup

```


## 维护与升级


定期维护 Docker 环境:


```bash

# 清理无用镜像和容器

docker system prune -f


# 检查更新

sudo apt update

apt list --upgradable | grep docker


# 执行升级

sudo apt upgrade docker-ce docker-ce-cli

```


## 安全建议


增强 Docker 安全性:


```bash

# 定期审计容器

docker ps -q | xargs docker inspect

<"share.share.okjiabao.com">

<"gov.cn.okjiabao.com">

<"nba.share.okjiabao.com">


# 检查容器安全配置

docker container ls --format "table {{.Names}}\t{{.Image}}\t{{.Status}}"


# 监控资源使用

docker stats --no-stream

```


通过本指南,您应该能够在 Ubuntu 22.04 及更早版本上成功安装和配置 Docker。根据您的具体需求选择适合的安装方法,并遵循最佳实践进行配置,将为您的容器化之旅奠定坚实基础。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/19545/viewspace-3101859/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-11-01

  • 博文量
    895
  • 访问量
    933562