当前位置: 首页 > news >正文

openEuler 22.03-Docker离线安装教程

Docker离线安装教程-openEuler 22.03

当前系统环境

[root@OpenEuler2203 ~]# cat /etc/os-release
NAME="openEuler"
VERSION="22.03 (LTS-SP4)"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 (LTS-SP4)"
ANSI_COLOR="0;31"

一、准备工作

1. 在联网环境中下载安装包

如果docker-27.5.0.tgz未提前准备好,需在联网环境中下载:

# 下载官方二进制包(需确认版本存在性)
wget https://download.docker.com/linux/static/stable/x86_64/docker-27.5.1.tgz# 若无法访问官方源,可通过其他途径获取离线包(如阿里云镜像)

阿里云镜像站下载

https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/

在这里插入图片描述


选择x86架构


在这里插入图片描述


下载对应的稳定版本
在这里插入图片描述

二、安装Docker二进制文件

1. 解压安装包

cd /opt/docker
tar -xzvf docker-27.5.0.tgz
  1. 复制二进制文件到系统路径
# 将解压后的二进制文件复制到 /usr/bin/
sudo cp docker/* /usr/bin/# 验证文件权限
sudo chmod +x /usr/bin/docker*
sudo chmod +x /usr/bin/containerd*
sudo chmod +x /usr/bin/runc

三、配置Docker服务

1. 创建Docker服务配置文件

创建并配置docker.service文件以便启动Docker服务:

sudo tee /etc/systemd/system/docker.service <<EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target
Requires=containerd.service[Service]
Type=notify
ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process[Install]
WantedBy=multi-user.target
EOF

2. 创建containerd服务文件

生成并配置containerd.service文件:

sudo tee /etc/systemd/system/containerd.service <<EOF
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target[Service]
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/bin/containerd
Restart=always
RestartSec=5
Delegate=yes
KillMode=process
OOMScoreAdjust=-999
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity[Install]
WantedBy=multi-user.target
EOF

3. 启动服务

启动containerd服务
# 重载systemd配置
sudo systemctl daemon-reload# 启动containerd并设置开机自启
sudo systemctl enable --now containerd# 启动Docker服务
sudo systemctl start docker# 验证服务状态
sudo systemctl status containerd docker

启动Docker服务
# 重新加载systemd配置
sudo systemctl daemon-reload# 启动Docker并设置开机自启
sudo systemctl enable --now docker# 验证服务状态
sudo systemctl status docker

四、验证安装

1. 检查Docker版本

# 检查 Docker 版本
docker version# 应输出 Docker 27.5.0 版本信息

2. 运行测试容器

sudo docker run hello-world
# 输出 "Hello from Docker!" 表示成功

五、安装Docker Compose

1. 下载二进制文件(联网环境)

wget https://github.com/docker/compose/releases/download/v2.27.5/docker-compose-linux-aarch64
mv docker-compose-linux-aarch64 docker-compose
chmod +x docker-compose
  1. 部署到目标机器
# 将docker-compose文件复制到系统路径
sudo cp docker-compose /usr/local/bin/# 验证安装
docker-compose version

六、常见问题解决

1. 依赖缺失错误

若提示缺少依赖库(如libcgroup、containerd):

手动安装依赖:在联网环境中下载对应RPM包(如containerd-*.rpm)并复制到目标机器:

sudo yum localinstall -y containerd-*.rpm

2. 权限问题

# 允许普通用户运行Docker
sudo usermod -aG docker $USER
newgrp docker  # 或重新登录

3. 服务启动失败

# 查看日志定位问题
sudo journalctl -u docker.service --no-pager
# 常见问题:containerd未安装或配置错误

4. 安装包内容验证

确保docker-27.5.0.tgz解压后包含以下关键文件:

docker/
├── dockerd          # Docker守护进程
├── docker           # Docker客户端
├── containerd       # 容器运行时
├── containerd-shim  # 容器进程管理
└── runc             # 容器运行时工具

5. Docker启动失败提示

Failed to start docker.service: Unit containerd.service not found

原因分析

原因一 :containerd未安装,Docker依赖containerd作为容器运行时。如果未单独安装containerd,可能会导致服务启动失败。

原因二:containerd服务文件缺失,containerd需要通过systemd服务文件管理,若服务文件未配置,systemd无法识别其服务。

解决方案

确认containerd已经安装并且配置正确。

如果containerd.service服务文件缺失,请按照步骤2重新生成并配置。

原文地址https://www.rzzz.net/cloudnative/docker/docker-base.html

http://www.dtcms.com/a/569321.html

相关文章:

  • 统一服务入口-Gateway
  • 济南做网站的公司哪家好网站建设工作半年通报
  • 为什么要GetWorld()?
  • HBase安装配置
  • 【开题答辩实录分享】以《基于Java的校园心理咨询服务系统的设计与实现》为例进行答辩实录分享
  • 佛山网站建设的品牌2345网址导航下载安装到桌面
  • 场外衍生品系统开发实战:TRS收益互换与场外个股期权架构解析
  • 网站需求分析模板浅谈电子商务网站建设与规划
  • Spring Boot整合MQTT
  • 《Nginx进阶实战:反向代理、负载均衡、缓存优化与Keepalived高可用》
  • 第6章 结构体与方法
  • 为什么 transformers 要 import TensorFlow
  • 网站建设要学哪些软件偃师网络营销的概念
  • 【AI学习-comfyUI学习-翻译文本工作流-各个部分学习-第二步】
  • 短期与长期利益平衡
  • 简单网站建设 有教程网络服务费绩效目标申报表
  • 网站建设技术知乎中文域名的网站有哪些
  • 二十一、STM32的ADC(一)(ADC介绍)
  • AWS helmchart包适CCE
  • 【LeetCode】98. 验证二叉搜索树
  • 摄影师网站html52017 wordpress宽屏主题
  • 【软件安全】什么是XSS(Cross-Site Scripting,跨站脚本)?
  • 2025年Java面试指南(持续更新)
  • leetcode 190. 颠倒二进制位 python
  • 网站用什么域名东莞网络营销策划
  • springboot 工具类 日期时间列表工具类详解:高效处理日期范围的利器
  • MYSQL第四次作业
  • 某游戏大厂分布式系统经典实战面试题解析
  • 某游戏大厂计算机网络面试问题深度解析(一)
  • C#基础:如何从现有类库复制一个新的类库,并且加入解决方案