1. 在线安装

使用存储库安装(前言)

  在新主机上首次安装 Docker Engine 之前,需要设置 Docker 存储库。之后,您可以从存储库中安装和更新 Docker。如无法使用 root 权限安装,可使用 sudo 来安装 docker。

1.1 设置存储库

1.1.1 更新 apt 包索引并安装包以允许 apt 通过 HTTPS 使用存储库

apt-get update
apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release

1.1.2 添加 Docker 官方GPG密钥

mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg

1.1.3 使用以下命令设置存储库

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

1.2 安装 Docker 引擎

1.2.1 更新 apt 包索引

apt-get update

1.2.2 安装 Docker 引擎、容器和 Docker Compose

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

1.2.3 通过运行 hello-world 镜像来验证 Docker 引擎安装是否成功

docker run hello-world

1.2.4 注意事项

  通过上述安装的 docker-compose 启动时命令是 docker compose,而不是 docker-compose,如下

  • 成功示例
docker compose up -d
  • 错误示例
docker-compose up -d

2. 离线安装

  Docker 是一种开源的容器技术,可以让开发者和运维人员在不同的平台上快速部署和运行应用程序。Docker 的优点是轻量、高效、可移植和安全。但是,如果要在没有互联网连接的环境中安装 Docker,就需要一些额外的步骤。本文将介绍如何在 Ubuntu 16.04 LTS 上离线安装 Docker 和 Docker-compose

2.1 准备工作

  在开始离线安装之前,我们需要准备以下几个文件:

  • containerd.io 包:这是 Docker 的一个依赖包,负责管理容器的生命周期。
  • docker-ce-cli 包:这是 Docker 的命令行接口,提供了各种操作容器的命令。
  • docker-ce 包:这是 Docker 的核心组件,包含了 Docker 引擎和其他功能。
  • docker-compose 包:这是一个用于定义和运行多容器应用程序的工具。

  可以从以下地址下载这些包,注意选择与 Ubuntu 版本相匹配的包。例如,如果,其他版本代号如下:

版本 代号 地址
16.04 LTS xenial 官方下载地址
18.04 LTS bionic 官方下载地址
20.04 LTS focal 官方下载地址
22.04 LTS jammy 官方下载地址

  我们使用的是 Ubuntu 16.04 LTS(代号为 xenial)需要下载以下三个包,其他版本可下载对应的四个最新包

  • containerd.io_1.4.6-1_amd64.deb
  • docker-ce-cli_20.10.7_3-0_ubuntu-xenial_amd64.deb
  • docker-ce_20.10.7_3-0_ubuntu-xenial_amd64.deb
  • docker-compose-Linux-x86_64 (官方下载地址中仅 Ubuntu 18 版本以上存在 docker-compose-plugin*.deb)

  下载完成后,我们需要将这些文件拷贝到目标机器上,例如放在 /home/ubuntu/docker 目录下。

2.2. 卸载原有的 Docker

  如果目标机器上已经安装了旧版本的 Docker,那么我们需要先卸载它们,以避免冲突。我们可以使用以下命令来卸载原有的 Docker:

apt-get purge docker-ce
apt-get autoremove --purge docker-ce
rm -rf /var/lib/docker

2.3 安装新版的 Docker

  接下来,我们可以使用 dpkg 命令来安装新版的 Docker。注意要按照依赖顺序来安装包,即先安装 containerd.io 包,再安装 docker-ce-cli 包,最后安装 docker-ce 包。可以使用以下命令来进行安装:

2.3.1 安装核心包

cd /home/ubuntu/docker # 进入存放文件的目录
dpkg -i containerd.io_1.4.6-1_amd64.deb # 安装 containerd.io 包
dpkg -i docker-ce-cli_20.10.7_3-0_ubuntu-xenial_amd64.deb # 安装 docker-ce-cli 包
dpkg -i docker-ce_20.10.7_3-0_ubuntu-xenial_amd64.deb # 安装 docker-ce 包
  • 注: 如果安装 containerd.io包时提示如下信息
...
containerd.io depends on libseccomp2(>=2.4.0);however:
Version of libseccomp2:amd64 on system is 2.3.1-2-ubuntu2~16.04.1.
...
  • 则需要在该地址下载libseccomp2(>=2.4.0)包,如libseccomp2_2.4.3-1ubuntu1_amd64.deb 官方下载地址。下载完成后,使用 dpkg 命令安装
dpkg -i libseccomp2_2.4.3-1ubuntu1_amd64.deb
  • 安装完成后按照上述docker的安装顺序重新安装即可。

2.3.2 通过运行 docker --version 镜像来验证 Docker 引擎安装是否成功

docker --version # 查看 Docker 版本信息
  • 如果能够看到类似如下的输出,则说明 Docker 已经正常工作:
Docker version 20.10.7, build f0df350

2.3.3 安装docker-compose 包【可选】

  Ubuntu 18 版本以上安装docker-compose 包,下面以Ubuntu 22.04 LTS为例。Ubuntu 16 版本安装docker-compose 在后文进行描述。

dpkg -i docker-compose-plugin_2.6.0~ubuntu-jammy_amd64.deb   # 安装 docker-compose 包
  • 验证 docker-compose 是否安装成功(注意如果安装的是最新版,则启动时命令是 docker compose,而不是 docker-compose):
docker compose --version

2.4 docker-compose 离线安装

  Docker-compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它使用 YAML 文件来配置应用程序的服务、网络和卷,然后使用一个命令来创建和启动所有的服务。在没有互联网连接的环境中,需要离线安装 docker-compose。下面介绍如何在 Ubuntu 16.04 LTS 上离线安装 docker-compose 的步骤。

2.4.1 下载 docker-compose

  在可以访问互联网的电脑上,打开浏览器,访问 https://github.com/docker/compose/releases ,找到最新的稳定版本(本文以 2.16.0【2023 年 3 月最新版】为例),点击 Assets 下的 docker-compose-Linux-x86_64 链接,下载二进制文件。将下载好的文件复制到 U 盘或其他可移动存储设备上,然后插入到目标服务器上。

2.4.2 安装 docker-compose

  • 在目标服务器上,打开终端,切换到 root 用户:
sudo -s
  • 创建一个 /usr/local/bin 目录(如果不存在):
mkdir -p /usr/local/bin
  • 将 U 盘或其他可移动存储设备上的 docker-compose-Linux-x86_64 文件复制到 /usr/local/bin 目录下,并重命名为 docker-compose
cp /media/usb/docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
  • docker-compose 文件添加可执行权限:
chmod +x /usr/local/bin/docker-compose
  • 验证 docker-compose 是否安装成功:
docker-compose --version
  • 如果输出类似如下内容,则表示安装成功:
docker-compose version 2.16.0