ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

【信创】docker-26.0.2.tgz 原理 + 完整安装

【信创】docker-26.0.2.tgz 原理 + 完整安装 docker-26.0.2.tgz 原理 完整安装tgz包 Docker官方静态二进制离线包不是rpm/deb软件包里面是已经编译好的独立可执行文件不依赖包管理器适合内网、信创、隔离服务器部署。一、原理1. tgz包内包含文件解压后docker目录docker ├── docker # CLI客户端命令 ├── dockerd # Docker守护进程核心服务 ├── containerd # 容器运行时管理容器生命周期 ├── ctr # containerd客户端 ├── runc # OCI标准容器运行时直接调用内核cgroup/namespace ├── docker-init ├── docker-proxy └── containerd-shim-runc-v2核心逻辑dockerd后台守护进程接收docker命令请求管理镜像、网络、存储containerddockerd向下调用的容器运行时负责创建/销毁容器runc底层调用Linux内核能力Namespace隔离、Cgroup资源限制真正启动容器进程。2. tgz安装本质只是拷贝静态编译好的二进制程序到系统PATH目录手动创建systemd服务单元文件让systemd管理dockerd启停。无软件包数据库记录不像rpm卸载直接删除二进制文件服务文件即可静态编译内置依赖不需要在线拉取依赖这就是离线安装的原理。对比rpm安装rpm会自动注册到系统包数据库、自动创建service文件tgz全部手动。二、安装步骤root权限Linux x86_641. 下载包官方地址[https://download.docker.com/linux/static/stable/x86_64/docker-26.0.2.tgz](https://download.docker.com/linux/static/stable/x86_64/docker-26.0.2.tgz)2. 解压tar-zxvfdocker-26.0.2.tgz解压得到docker文件夹。3. 拷贝二进制到系统可执行目录cpdocker/* /usr/bin//usr/bin在系统PATH环境变量任意目录可以直接调用docker、dockerd命令。4. 创建systemd服务文件/etc/systemd/system/docker.service[Unit] DescriptionDocker Application Container Engine Documentationhttps://docs.docker.com Afternetwork-online.target firewalld.service Wantsnetwork-online.target [Service] Typenotify ExecStart/usr/bin/dockerd ExecReload/bin/kill -s HUP $MAINPID LimitNOFILEinfinity LimitNPROCinfinity TimeoutStartSec0 Delegateyes KillModeprocess Restarton-failure StartLimitBurst3 StartLimitInterval60s [Install] WantedBymulti-user.target5. 重载systemd启动并开机自启# 重新加载systemd单元配置systemctl daemon-reload# 启动dockersystemctl startdocker# 设置开机自启systemctlenabledocker6. 验证docker-vdockerinfo输出Docker version 26.0.2, build 3c8b0c4即成功。7. 可选配置镜像加速器创建/etc/docker/daemon.json{registry-mirrors:[https://xxx.mirror.aliyuncs.com]}修改后重启systemctl restart docker三、卸载tgz包专用# 停止服务systemctl stopdockersystemctl disabledocker# 删除service文件rm-f/etc/systemd/system/docker.service# 删除二进制文件rm-f/usr/bin/docker /usr/bin/dockerd /usr/bin/containerd /usr/bin/ctr /usr/bin/runc /usr/bin/docker-init /usr/bin/docker-proxy /usr/bin/containerd-shim-runc-v2 systemctl daemon-reload注意镜像/容器数据默认保存在/var/lib/docker/需要手动删除。四、常见坑点架构不匹配x86_64包不能在arm64/飞腾/鲲鹏直接运行需要下载对应架构tgz包内核版本过低Docker26要求内核≥5.4SELinux部分系统默认开启会导致容器启动失败临时关闭或配置策略旧版本残留机器之前装过rpm版docker需要先卸载旧版本避免冲突cgroup驱动新版dockerd默认检测systemd cgroup生产环境推荐使用native.cgroupdriversystemd。五、最简测试不使用systemd临时手动启动# 直接后台启动dockerd仅测试不推荐生产dockerd缺点终端关闭dockerd就停止无法开机自启。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进