Docker离线安裝腳本
以下是修改后包含新文档说明的内容:
# 脚本功能说明文档
# 一、脚本用途
本脚本主要用于在 CentOS 系统上安装相关软件包以及配置 Docker 环境,并安装 Docker Compose 工具,该脚本我已经安装了不下于40台离线的centos环境。
# 二、前置条件
在运行本脚本之前,需要提前准备好名为 soft.zip 的压缩文件,并放置在系统的 /data 目录下。该压缩文件应包含后续安装所需的 RPM 软件包。同时,/data 目录下需要有 docker-compose 可执行文件。
docker-compose文件下载 (opens new window)
# 三、脚本步骤详细说明
- 进入指定目录:
cd /data
该命令的作用是将当前工作目录切换到 /data 目录下。在 Linux 系统中,cd 命令用于改变当前工作目录,/data 是一个具体的路径,通过切换到该目录,后续的操作都将在这个目录下进行。
- 解压压缩文件:
unzip soft.zip
此命令用于解压名为 soft.zip 的压缩文件。unzip 是一个用于解压 ZIP 格式文件的工具,执行该命令后,soft.zip 中的文件会被解压到当前目录(即 /data 目录)下。
- 进入
soft/base/packages/目录并安装 RPM 包:
cd soft/base/packages/
rpm -ivh *.rpm --nodeps --force
cd soft/base/packages/:将当前工作目录切换到/data/soft/base/packages/目录下。rpm -ivh *.rpm --nodeps --force:使用rpm命令安装当前目录下所有的 RPM 包(*.rpm表示匹配所有以.rpm结尾的文件)。-i选项表示安装软件包,-v表示显示详细的安装过程信息,-h表示在安装过程中显示哈希标记以表示安装进度。--nodeps选项表示在安装时忽略软件包的依赖关系,即使依赖项未安装也强制安装;--force选项表示强制安装,即使软件包已经安装或者存在其他冲突情况也继续安装。
- 进入
updates/packages目录并安装 RPM 包:
cd ../../updates/packages
rpm -ivh *.rpm --nodeps --force
cd ../../updates/packages:将当前工作目录向上两级(返回到/data/soft目录),然后进入updates/packages目录。rpm -ivh *.rpm --nodeps --force:同样使用rpm命令安装当前目录下所有的 RPM 包,忽略依赖关系并强制安装。
- 进入
extras/packages目录并安装 RPM 包:
cd ../../extras/packages
rpm -ivh *.rpm --nodeps --force
cd ../../extras/packages:将当前工作目录向上两级(返回到/data目录),然后进入extras/packages目录。rpm -ivh *.rpm --nodeps --force:安装当前目录下所有的 RPM 包,忽略依赖关系并强制安装。
- 进入
docker-ce-stable/packages目录并安装 RPM 包:
cd ../../docker-ce-stable/packages
rpm -ivh *.rpm --nodeps --force
cd ../../docker-ce-stable/packages:将当前工作目录向上两级(返回到/data目录),然后进入docker-ce-stable/packages目录。rpm -ivh *.rpm --nodeps --force:安装当前目录下所有与 Docker CE 稳定版相关的 RPM 包,忽略依赖关系并强制安装。
- 从
/data目录拷贝docker-compose文件:
cp /data/docker-compose /usr/local/bin/docker-compose
该命令使用 cp 命令将 /data 目录下的 docker-compose 文件复制到 /usr/local/bin 目录下。
- 赋予 Docker Compose 可执行权限:
chmod +x /usr/local/bin/docker-compose
chmod 命令用于更改文件的权限,+x 表示给文件添加可执行权限,使得 /usr/local/bin/docker-compose 文件可以作为可执行程序运行。
- 启动 Docker 服务并设置开机自启:
systemctl start docker
systemctl enable docker
systemctl start docker:使用systemctl命令启动 Docker 服务。systemctl是一个用于控制系统服务的命令行工具,start选项用于启动指定的服务(这里是docker服务)。systemctl enable docker:使用systemctl命令设置 Docker 服务开机自启。enable选项用于配置服务在系统启动时自动启动。
# 四、注意事项
- 本脚本仅适用于 CentOS 系统,在其他 Linux 发行版上运行可能会出现兼容性问题。
- 使用
--nodeps --force选项安装 RPM 包可能会导致软件无法正常运行,因为忽略了依赖关系。在生产环境中,请谨慎使用,并尽量确保依赖项已正确安装。 /data目录下必须存在docker-compose文件,否则拷贝操作会失败。- 执行脚本的用户需要具备足够的权限来执行相关操作,如安装软件包、修改文件权限、启动服务等。通常建议使用
root用户或具有适当权限的用户来运行该脚本。
上次更新: 2025/03/31, 10:31:02