在 Ubuntu 18 上进行离线安装 Docker

Docker 是一种开源的容器化技术,可以帮助开发者以轻量级的方式构建、部署和运行应用程序。在某些情况下,如网络无法访问或受限网络环境中,您可能需要进行 Docker 的离线安装。本文将为您详细介绍如何在 Ubuntu 18 上离线安装 Docker。

一、准备工作

在进行离线安装之前,您需要准备以下内容:

  1. 一台能够访问互联网的计算机,用于下载 Docker 软件包。
  2. 一台 Ubuntu 18 的目标计算机,准备安装 Docker。
  3. USB 驱动器或其他存储设备,用于传输 Docker 软件包。

二、在联网的计算机上下载 Docker

首先,我们需要在一台可以访问互联网的计算机上下载 Docker 的相关软件包。根据官方文档,Docker 软件包通常包括两个主要部分:docker-cedocker-ce-cli

1. 下载 Docker 的 APT 源文件

在联网机器上,请用以下命令来下载 Docker 的 APT 源文件:

wget 

接着,您需要将 GPG 密钥添加到 APT 信任列表中,这样可以确保安装包的安全性。

sudo apt-key add gpg

2. 获取 Docker 的安装包

接下来,您需要下载 Docker 的相关 DEB 软件包。为了确定正确的版本,您可以首先列出可用的版本。

apt-cache madison docker-ce

接着,您可以选择合适的版本下载。安装包通常可以通过以下命令下载。请替换 VERSION_STRING 为实际的版本号。

# 替换 VERSION_STRING 为你所需的 docker-ce 版本
wget 
wget 
wget 

3. 将文件传输至目标计算机

将下载的 .deb 文件通过 USB 驱动器等方式拷贝到需要安装 Docker 的 Ubuntu 18 计算机。

三、在目标计算机上安装 Docker

在目标机器上,您可以使用以下步骤安装 Docker。

1. 更新 APT 索引

在开始安装之前,您最好更新本地的 APT 索引:

sudo apt-get update

2. 安装 downloaded .deb 文件

您需要使用 dpkg 命令安装下载的 Docker 软件包。请务必参考实际的文件名。

sudo dpkg -i ./containerd.io_VERSION_STRING_amd64.deb
sudo dpkg -i ./docker-ce-cli_VERSION_STRING_amd64.deb
sudo dpkg -i ./docker-ce_VERSION_STRING_amd64.deb

如果你收到依赖关系错误,您可能需要使用以下命令来固定这些依赖关系:

sudo apt-get install -f

3. 启动 Docker 服务

安装完成后,您可以启动 Docker 服务并设置为开机自启:

sudo systemctl start docker
sudo systemctl enable docker

4. 验证 Docker 是否运行

通过运行以下命令确认 Docker 是否已成功安装和运行:

sudo docker --version
sudo docker run hello-world

如果看到“Hello from Docker!”的信息,说明 Docker 已成功安装。

四、设置非 root 用户权限(可选)

默认情况下,Docker 需要使用 sudo 权限运行。如果您希望以非 root 用户身份运行 Docker,可以将该用户添加到 docker 组:

sudo groupadd docker
sudo usermod -aG docker $USER

请注意,执行该命令后,您需要注销并重新登录才能使更改生效。

五、流程图概述

为了更直观地理解整个离线安装流程,我们使用 Mermaid 语法绘制了一张流程图:

flowchart TD
    A[准备工作] --> B[联网机器下载 Docker 相关的软件包]
    B --> C[拷贝文件到目标计算机]
    C --> D[更新 APT 索引]
    D --> E[安装 .deb 文件]
    E --> F[启动 Docker 服务]
    F --> G[验证 Docker 是否运行]
    G --> H[设置非 root 用户权限]

六、结尾

通过上述步骤,您应该已经成功在 Ubuntu 18 上离线安装了 Docker。Docker 的强大功能可以帮助您简化开发和部署工作,提升应用的可移植性。

如有任何问题或疑惑,欢迎回头查阅相关文档或至社区论坛寻求支持。在使用 Docker 的过程中,祝您业务顺利,事半功倍!