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
核心逻辑:
2. tgz安装本质
只是拷贝静态编译好的二进制程序到系统PATH目录,手动创建systemd服务单元文件,让systemd管理dockerd启停。
- 无软件包数据库记录(不像rpm);
- 卸载直接删除二进制文件+服务文件即可;
- 静态编译,内置依赖,不需要在线拉取依赖,这就是离线安装的原理。
对比rpm安装:rpm会自动注册到系统包数据库、自动创建service文件;tgz全部手动。
二、安装步骤(root权限,Linux x86_64)
1. 下载包
官方地址:[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 -zxvf docker-26.0.2.tgz
解压得到docker文件夹。
3. 拷贝二进制到系统可执行目录
cp docker/* /usr/bin/
/usr/bin在系统PATH环境变量,任意目录可以直接调用docker、dockerd命令。
4. 创建systemd服务文件 /etc/systemd/system/docker.service
[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
5. 重载systemd,启动并开机自启
# 重新加载systemd单元配置
systemctl daemon-reload
# 启动docker
systemctl start docker
# 设置开机自启
systemctl enable docker
6. 验证
docker -v
docker info
输出Docker version 26.0.2, build 3c8b0c4即成功。
7. 可选:配置镜像加速器
创建 /etc/docker/daemon.json
{
"registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
修改后重启:systemctl restart docker
三、卸载(tgz包专用)
# 停止服务
systemctl stop docker
systemctl disable docker
# 删除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/,需要手动删除。
四、常见坑点
五、最简测试(不使用systemd,临时手动启动)
# 直接后台启动dockerd(仅测试,不推荐生产)
dockerd &
缺点:终端关闭dockerd就停止,无法开机自启。



