后端开发必看!手把手教你在 Linux 中离线安装 Docker

360影视 国产动漫 2025-05-25 16:56 3

摘要:你是否遇到过这样的场景?在互联网大厂的项目部署中,由于服务器处于严格的内网环境,无法连接外网,而此时又急需在 Linux 系统上安装 Docker 来部署容器化应用。看着项目上线时间越来越近,却因为无法在线安装 Docker 而束手无策,这种情况是不是让你十分

你是否遇到过这样的场景?在互联网大厂的项目部署中,由于服务器处于严格的内网环境,无法连接外网,而此时又急需在 Linux 系统上安装 Docker 来部署容器化应用。看着项目上线时间越来越近,却因为无法在线安装 Docker 而束手无策,这种情况是不是让你十分头疼?

在互联网大厂的开发环境中,出于数据安全、合规等多方面因素考虑,很多服务器处于离线或者内网环境。比如一些涉及金融数据、用户隐私数据处理的服务器,不允许随意连接外网,以防止数据泄露风险。Docker 作为后端开发中常用的容器化工具,能够实现应用的快速

部署和离,在这种离线环境下,掌握其离线安装方法就成为了后端开发人员的必备技能。

下面就为大家详细介绍在 Linux 中离线安装 Docker 的具体解决方案。

在开始安装之前,我们需要全面且细致地确认 Linux 系统的软硬件是否满足条件。

硬件要求

CPU:必须是 64 位处理器,这是 Docker 运行的基础硬件条件,因为 Docker 的容器技术对处理器的指令集和性能有一定要求,64 位处理器能够更好地支持其运行。内存:至少 1GB,不过如果在服务器上运行多个容器应用,建议将内存提升到 2GB 及以上,以保证系统和 Docker 容器的流畅运行,避免出现因内存不足导致的容器运行缓慢甚至崩溃的情况 。存储:至少有 2GB 可用空间,这里的空间主要用于存储 Docker 的安装文件、镜像以及容器运行时产生的数据。随着使用,镜像和数据会不断增加,所以预留足够的空间十分重要。

软件要求

操作系统要是支持的 Linux 发行版,像 Ubuntu 16.04 及以上、CentOS 7 及以上、Debian 9 及以上版本都可以。不同的发行版在软件包管理和系统配置上会有一些差异,后续的安装步骤也会有所不同,所以确认好系统版本很关键。只有满足这些条件,Docker 才能在系统中稳定运行。

我们需要在有网络的机器上下载 Docker 安装包。为了确保安装过程顺利,这里为你提供多种下载方式。

使用包管理工具直接下载(以 Ubuntu 为例)

打开终端,使用命令sudo apt-get download docker - ce进行下载。这条命令会从官方软件源下载最新版本的 Docker Community Edition(社区版)安装包。如果在执行过程中遇到权限问题,可能是因为没有获取到管理员权限,可以先执行sudo su切换到管理员用户,再执行下载命令。

使用apt - offline工具(适合复杂依赖处理和特定版本安装)

apt - offline工具是个不错的选择。它可以帮我们将所需的安装包及其依赖全部下载下来,避免后续安装过程中出现依赖缺失的问题。具体操作步骤如下:

首先安装apt - offline工具,在终端执行命令sudo apt-get install apt - offline。接着,创建一个清单文件,记录我们需要安装的软件包,例如创建一个名为docker.list的文件,内容为docker - ce ,执行命令echo "docker - ce" > docker.list。然后,使用apt - offline工具下载安装包及其依赖,执行命令sudo apt - offline set docker - offline.script docker.list,这里的docker - offline.script是生成的下载脚本文件,执行完成后,会在当前目录下生成一系列的安装包文件和依赖包文件。

下载完成后,要把安装包传输到目标离线 Linux 机器上。传输方式有很多种,你可以根据实际情况进行选择。

USB 驱动器传输

将下载好的安装包复制到 U 盘中,再将 U 盘插入目标机器。在目标机器上,找到 U 盘的挂载点,一般在/media目录下,进入挂载点目录,就可以看到安装包文件了。如果没有自动挂载,可以使用命令sudo mount /dev/sdX /media/usb(这里的/dev/sdX是 U 盘的设备名称,可通过lsblk命令查看)手动挂载。

局域网共享传输

如果目标机器和下载机器处于同一局域网环境下,可以通过局域网共享的方式进行传输。以 Samba 共享为例,在下载机器上安装 Samba 服务,执行命令sudo apt-get install samba samba - common - bin。然后配置 Samba 共享目录,编辑/etc/samba/smb.conf文件,在文件末尾添加类似以下内容:

[docker_share]path = /path/to/docker/packagesavailable = yesvalid users = your_usernameread only = nobrowsable = yes

这里的/path/to/docker/packages是存放安装包的目录,your_username是允许访问的用户名。配置完成后,重启 Samba 服务,执行命令sudo service smbd restart。在目标机器上,使用文件管理器连接到共享目录,或者在终端执行命令mount -t cifs //source_ip/docker_share /mnt -o username=your_username,password=your_password(这里的source_ip是下载机器的 IP 地址,/mnt是挂载目录,your_username和your_password是 Samba 配置的用户名和密码)进行挂载,然后将安装包复制到目标机器的合适目录。

在目标机器上,首先要确保 Linux 系统是最新的,这可以通过更新系统软件包来实现。在 Ubuntu 系统中,执行命令sudo apt - get update更新软件源列表,然后执行命令sudo apt - get upgrade升级已安装的软件包。

更新完系统后,需要安装必要的依赖包,这些依赖包是 Docker 正常运行的基础。执行命令sudo apt - get install - y apt - transport - https ca - certificates curl gnupg2 software - properties - common,其中:

apt - transport - https用于支持通过 HTTPS 协议下载软件包;ca - certificates是证书文件,用于验证软件包来源的合法性;curl和gnupg2用于下载和验证软件包的签名;software - properties - common提供了一些常用的软件源管理工具。

准备好环境后,就可以手动安装下载的 Docker 包了。还是以 Ubuntu 为例,在终端中使用命令sudo dpkg - i docker - ce__.deb,这里的和要替换为实际下载的安装包版本和架构信息。例如,如果下载的安装包名称是docker - ce_3:20.10.22~3 - 0~ubuntu - focal_amd64.deb,那么执行的命令就是sudo dpkg - i docker - ce_3:20.10.22~3 - 0~ubuntu - focal_amd64.deb。

在执行安装命令后,如果出现依赖问题,比如提示缺少某些依赖包,可以使用命令sudo apt - get - f install自动修复依赖关系,然后再次执行安装命令。

安装完成后,使用命令sudo systemctl start docker启动 Docker 服务。执行完该命令后,可以使用命令sudo systemctl status docker查看 Docker 服务的运行状态,如果显示active (running),则表示服务已经成功启动。

接着使用sudo systemctl enable docker设置开机自动启动,这样下次服务器重启后,Docker 也能自动运行。该命令会在系统启动项中添加 Docker 服务的启动配置,确保系统开机时自动启动 Docker。

最后一步,我们要验证 Docker 是否安装成功。在终端中输入docker run hello - world命令,如果看到输出类似 “Hello from Docker!” 的信息,就说明 Docker 已经正常运行了。这是因为docker run hello - world命令会从 Docker Hub 拉取一个简单的测试镜像,并在容器中运行,输出相应的提示信息。

也可以使用docker --version查看 Docker 版本信息,进一步确认安装情况。如果能正确显示 Docker 的版本号,也证明安装是成功的。

通过以上步骤,我们就能在 Linux 离线环境中成功安装 Docker 了。掌握这项技能,以后再遇到类似的离线部署需求,就不用再发愁啦!如果你在安装过程中遇到了问题,或者有更好的离线安装经验,欢迎在评论区留言分享,大家一起交流学习,共同提升后端开发技术水平!

来源:从程序员到架构师一点号

相关推荐