

各位互联网软件开发人员,在开发工作中,我们常常会遇到需要在特定环境下安装软件的情况。今天,就来给大家详细讲讲如何在银河麒麟系统上进行 Docker 容器的离线安装。
银河麒麟系统作为国产操作系统中的佼佼者,凭借其高安全、高可靠、跨平台等特性,在党政、金融、交通等众多重点行业广泛应用。在一些安全性要求较高的开发场景中,我们可能无法通过网络在线安装软件,这时候离线安装就显得尤为重大。而 Docker 作为一款开源的容器化平台,能够让我们轻松地创建、部署和管理应用程序,极大地提高开发效率,将应用及其依赖项打包成一个标准化单元,实现高效的部署与迁移。那么,在银河麒麟系统这个安全可靠的 “堡垒” 中,如何让 Docker 这把开发利器也顺利 “入驻” 呢?下面,我们就一步步来操作。
确认银河麒麟系统已安装:务必确保你的设备上已经成功安装了银河麒麟操作系统,并且对系统基本操作有必定的熟悉度。
获取 Docker 安装包及依赖包:由于是离线安装,我们得提前在一台能联网的机器上下载好 Docker 的安装包及其所有依赖包。这里有几种常见方法:
方法一
若系统支持apt命令(部分银河麒麟版本基于 Debian 或 Ubuntu 衍生),先安装一些必要工具:
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common添加 Docker 官方 GPG 密钥:
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -编辑
/etc/apt/sources.list.d/docker.list文件,加入如下内容(注意根据系统架构和版本适当调整):
deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable执行下载命令,该命令会将docker-ce及其递归依赖包下载到指定目录(假设为/tmp/docker-packages):
mkdir -p /tmp/docker-packages
cd /tmp/docker-packages
sudo apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances docker-ce | grep "^w" | sort -u)方法二
对于基于 RPM 包管理的银河麒麟系统版本,可使用yumdownloader工具(若未安装,需先安装)。先安装依赖工具:
yum install yum-utils执行下载命令(这里以下载docker-ce为例):
yumdownloader --resolve docker-ce此命令会将docker-ce及其依赖包下载到当前目录。不过,要注意可能需要手动处理一些依赖关系,确保所有包都下载齐全。
方法三
直接从 Docker 官方镜像下载站点(如
http://mirrors.aliyun.com/docker-ce/linux/static/stable ),根据系统架构(如x86_64、aarch64等)下载对应的 Docker 二进制压缩包。例如,下载后得到docker-24.0.9.tgz。
准备移动存储设备:准备一个稳定可靠的 U 盘或移动硬盘,用于将下载好的安装包传输到无网络连接的银河麒麟系统设备中。
将包传输到银河麒麟系统
第一,把存有安装包的 U 盘插入银河麒麟系统设备。然后,在银河麒麟系统中创建一个用于存放 Docker 安装包的目录,列如:
mkdir -p /tmp/docker最后,使用命令将 U 盘中的所有 RPM 或 DEB 文件复制到刚创建的/tmp/docker目录下。如果是基于apt的系统且 U 盘挂载在/media/your-usb:
cp /media/your-usb/*.deb /tmp/docker如果是基于yum的系统且 U 盘挂载在/media/your-usb:
cp /media/your-usb/*.rpm /tmp/docker这里的/media/your-usb需根据实际 U 盘挂载路径进行替换。
安装 Docker
基于apt的系统安装:
进入存放安装包的目录:
cd /tmp/docker执行安装命令:
sudo apt install./*.deb安装过程中,系统会自动处理各个包之间的依赖关系,可能需要一些时间,请耐心等待。
基于yum的系统安装:
进入存放安装包的目录:
cd /tmp/docker执行安装命令(若遇到依赖问题,可能需要手动按顺序安装依赖包):
sudo rpm -ivh *.rpm如果是下载的二进制压缩包安装:
解压压缩包,假设压缩包为docker-24.0.9.tgz,解压到当前目录:
tar -zxvf docker-24.0.9.tgz将解压出来的内容移动到/usr/bin目录下:
cp docker/* /usr/bin/此时可以使用docker -v命令验证 Docker 是否可执行,但守护进程尚未开启,部分 Docker 命令暂不可用,需进一步配置。
启动 Docker 服务:安装完成后,启动 Docker 服务,执行命令:
systemctl start docker设置开机自启:为了后续使用方便,提议设置 Docker 服务在系统开机时自动启动,执行:
systemctl enable docker验证安装是否成功:运行docker --version命令,如果成功输出版本信息,那就表明我们的 Docker 已在银河麒麟系统上安装成功啦!也可以通过运行一个简单的测试容器来进一步验证,列如:
docker run hello-world如果能看到 “Hello from Docker!” 的相关输出,说明 Docker 运行正常。
安装好 Docker 后,我们来简单体验一下它的功能。这里给大家展示一个创建 Node.js 应用容器的示例。
编写 Dockerfile:创建一个文本文件,命名为Dockerfile,在其中写入以下内容:
# 使用官方Node.js镜像作为基础镜像
FROM node:14
# 设置工作目录
WORKDIR /usr/src/app
# 复制package.json和安装依赖
COPY package*.json./
RUN npm install
# 复制应用程序代码(这里假设你的应用代码在当前目录下的src文件夹内,可根据实际情况修改)
COPY src/.
# 暴露端口
EXPOSE 8080
# 启动应用程序
CMD ["node", "app.js"]构建镜像:在包含Dockerfile的目录下,执行命令:
docker build -t my-node-app.这里的my-node-app是你为镜像起的名字,可以按需修改。
运行容器:镜像构建完成后,使用命令运行容器:
docker run -p 8080:8080 my-node-app其中-p 8080:8080表明将主机的 8080 端口映射到容器的 8080 端口,这样我们就能通过访问主机的 8080 端口来访问容器内运行的应用程序了。
通过以上详细且修正后的步骤,我们就能成功地在银河麒麟系统上完成 Docker 的离线安装,并进行简单的使用。希望这篇文章能切实协助到各位在开发中遇到相关问题的朋友,助力大家在国产操作系统环境下,更高效地开展互联网软件开发工作。