• 卢经理 151 5399 4549
    扫一扫,加我咨询
扫码关注我们
无网不惧,轻松上手,openEuler系统离线部署Docker全攻略!
发布时间:2024-07-24

在许多企业环境中,网络访问受限或出于安全考虑无法直接连接互联网,这使得在这些环境中安装和部署软件变得更加复杂。为了应对这些挑战,离线部署Docker成为一种实用的解决方案。本文将详细介绍如何在欧拉系统openEuler上进行Docker的离线部署,以便在无网络连接的情况下依然能够顺利使用Docker进行容器化管理。

关于openEuler

openEuler是一个由华为主导并开源的Linux发行版,旨在为企业级应用提供高性能、高安全性和高稳定性的操作系统平台。openEuler是一个由华为主导并开源的Linux发行版,旨在为企业级应用提供高性能、高安全性和高稳定性的操作系统平台。作为一个社区驱动的项目,openEuler不仅继承了Linux的开放性和灵活性,还集成了多种优化和增强功能,特别是在云计算、大数据、人工智能等领域表现出色。

openEuler官网

部署最新Docker版本

本次案例使用的是openEuler 24.03的版本,如下图所示:

查看版本信息

关于openEuler系统的部署请查看官方的文档[1],有详细的教程文章。

1.下载Docker二进制离线包

下图展示了Docker官方提供的二进制包下载页面,可以用于进行Docker的离线安装。通过使用这些官方提供的二进制包,即使在无法访问互联网的环境中,依然能够顺利完成Docker的部署。

Docker二进制软件包

本案了采用dockr-27.0.3的版本进行部署,通过下面的命令进行下载:

 wget https://download.docker.com/linux/static/stable/x86_64/docker-27.0.3.tgz
  • 1.

2.解压文件

首先,将下载好的Docker二进制安装包拷贝到目标系统上,然后使用tar命令解压缩这些文件。以下命令展示了如何完成这一步:

tar -zxvf docker-27.0.3.tgz
  • 1.

这条命令会将Docker的二进制文件解压缩到当前目录下,解压后的文件包括Docker守护进程、客户端、以及相关的命令行工具。如下图所示:

解压后的目录

3.把文件复制到/usr/bin/目录下

完成解压缩后,我们需要将这些文件移动到系统的标准可执行文件目录中,以便系统能够正确调用Docker命令:

cp docker/* /usr/bin/
  • 1.

4.创建Docker服务文件

使用systemd来管理Docker服务是确保其开机自启动和便捷控制的最佳实践之一。创建一个名为docker.service的systemd服务文件。这个文件通常位于/usr/lib/systemd/system/目录下:

vim /usr/lib/systemd/system/docker.service
  • 1.

在文件中添加以下内容  :

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

为了使新的服务文件生效,需要重新加载systemd的配置:

systemctl daemon-reload
  • 1.

5.启动并启用Docker服务

启动Dcoker服务:

systemctl start docker
  • 1.

检查Docker服务状态,确保其正常运行:

systemctl status docker
  • 1.

允许上述命令后,输入如下图结果:

检查Docker服务情况

设置Docker服务开机自启动:

systemctl enable docker
  • 1.

6.验证Docker安装

通过以下命令验证Docker是否正确安装和运行:

docker --version
  • 1.

执行完上述命令后,输出如下结果:

通过上述返回的信息看到Docker已经正确安装好了。运行一个简单的Docker容器,验证Docker是否正常工作 :

docker run -d nginx
  • 1.

运行上述命令出现如下图结果,则说明Docker已成功安装并正常运行。

总结

通过以上步骤,我们实现了在欧拉系统上离线部署Docker。尽管离线环境限制了直接从网络获取软件包的能力,但通过提前准备好所需的安装包和依赖,我们依然可以顺利完成Docker的安装和部署。

参考文档:

[1]官方的文档: https://docs.openeuler.org/zh/docs/24.03_LTS/docs/Installation/%E5%AE%89%E8%A3%85%E5%87%86%E5%A4%87.html