学习笔记—离线环境下安装Docker
离线环境下安装Docker
离线场景下配置服务器是一个少见的情况,但有些地方出于安全等考虑服务器并不会接外网,因此,离线部署一些软件是很有意义的。
首先需要下载一个合适的docker离线的tgz包,以docker-24.0.9.tgz为例子。
当传上服务器后,解压。
1 |
|
解压后找到docker目录,将docker二进制文件复制到/usr/bin目录下。
1 |
|
创建docker的systemd服务文件,以docker.service为例子。
1 |
|
填入以下内容:
1 |
|
以上是一个systemd服务单元文件,用于在基于systemd的linux系统上配置和管理Docker服务。
Unit中,Description: 描述服务的作用,这里是 “Docker Application”,表示这是用于运行 Docker 应用程序的服务。ocumentation: 提供服务的文档链接,这里是 Docker 的官方文档链接。After: 指定该服务在哪些服务启动之后启动。这里指定了 network-online.target 和 firewalld.service,意味着 Docker 服务会在网络在线和防火墙服务启动之后启动。Wants: 表示该服务希望某个服务启动,但不严格要求它。这里指定了 network-online.target,意味着 Docker 服务希望网络服务在线,但不是严格依赖。
Service中,Type: 定义服务启动类型。notify 表示服务会发送一个通知信号来告知 systemd 它已经启动完成。ExecStart: 指定启动服务时要执行的命令。这里是 /usr/bin/dockerd,即启动 Docker 守护进程。ExecReload: 指定重新加载服务配置时要执行的命令。这里是发送 HUP 信号给主进程。LimitNOFILE: 设置服务可以打开的最大文件数,infinity 表示没有限制。LimitNPROC: 设置服务可以创建的最大进程数,infinity 表示没有限制。LimitCORE: 设置服务可以创建的最大核心转储文件大小,infinity 表示没有限制。TimeoutStartSec: 定义启动服务时的超时时间,0 表示没有超时限制。Delegate: 表示将服务管理委派给 Docker 守护进程,让 Docker 管理其子进程。KillMode: 定义如何杀死服务。process 表示只杀死主进程,不杀死其子进程。Restart: 定义服务失败时的重启策略。on-failure 表示只有在服务非正常退出时才重启。StartLimitBurst: 设置在 StartLimitInterval 时间内允许的最大启动次数。StartLimitInterval: 设置启动次数限制的时间间隔。
Install中,WantedBy: 指定该服务属于哪个目标。multi-user.target 表示该服务应该在多用户系统环境中启动。
这样的一个服务单元配置文件配置了Docker服务的基本行为,比如启动命令、重启策略、依赖关系等等,使得Docker服务能够被systemd正确地管理和启动。
紧接着,首先,给Docker的服务单元文件增加执行权限,让systemd能通过执行这个文件来启动Docker服务。
1 |
|
daemon-reload用于告诉systemd重新加载所有服务单元文件。确保systemd用最新的配置
1 |
|
启动docker服务。
1 |
|
将 Docker 服务设置为在系统启动时自动启动。
1 |
|
这样,Docker就被离线安装好了。
安装完成后,可以通过以下命令来验证 Docker 是否安装成功:
1 |
|
如果 Docker 安装成功,该命令将输出 Docker 的版本信息。
如果 Docker 安装失败,可以尝试重新安装 Docker,或者查看 Docker 的日志文件(通常位于 /var/log/docker.log)以获取更多错误信息。
离线环境下安装docker-compose
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它使用 YAML 文件来配置应用程序的服务,并使用一个命令来启动所有服务。
在离线环境下安装 Docker Compose,需要先下载 Docker Compose 的二进制文件,然后将其复制到系统的 PATH 中。
首先,需要从 Docker 官方网站下载 Docker Compose 的二进制文件。可以在浏览器中打开以下链接:
1 |
|
在页面中找到适合你操作系统的 Docker Compose 版本,并下载对应的二进制文件。以docker-compose-linux-x86_64为例。
1 |
|
先移动至系统可执行目录
1 |
|
赋予执行权限
安装完成后,可以通过以下命令来验证 Docker Compose 是否安装成功:
1 |
|
如果 Docker Compose 安装成功,该命令将输出 Docker Compose 的版本信息。