Centos6安装nerdctl容器运行时

前言

本文写于2025年3月22日,因一些特殊业务需要用到Centos6+Docker,但Centos6早已停止服务.
把折腾过程记录下来,以便后续参考.


Centos6安装docker—失败–不可拉取镜像

CentOS 6.5 (64-bit) 或更高的版本,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
Centos6的内核支持的docker最高版本是:docker-engine-1.7.1-1.el6.x86_64.rpm
免积分下载docker的rpm包: https://download.youkuaiyun.com/download/omaidb/90522506

# 安装docker
yum install  -y ./docker-engine-1.7.1-1.el6.x86_64.rpm

在这里插入图片描述

# 启动docker服务
service docker start
# 查看docker版本
docker version

在这里插入图片描述


docker配置国内镜像加速

vim /etc/sysconfig/docker

配置内容如下

other_args="--registry-mirror=https://docker.1ms.run"

验证搜索镜像

docker search docker.1ms.run/${镜像名称}

在这里插入图片描述

# 拉取镜像
docker pull nginx

在这里插入图片描述

Centos6安装nerdctl-full容器管理工具

Centos6安装docker不能拉取镜像,宣告失败.
测试发现nerdctl-full在Centos6下正常运行,缺点是不能search镜像.
nerdctl项目: https://github.com/containerd/nerdctl/releases

# 下载nerdctl-full.tar.gz安装包
wget -P /usr/local/src -c https://github.com/containerd/nerdctl/releases/download/v2.0.4/nerdctl-full-2.0.4-linux-amd64.tar.gz

# 创建nerdctl安装目录
mkdir -p /app/nerdctl

# 解压到安装目录
tar xvf /usr/local/src/nerdctl-full-2.0.4-linux-amd64.tar.gz -C /app/nerdctl

# 创建软链接
ln -snf /app/nerdctl/bin/nerdctl /usr/bin/nerdctl

# 查看是否安装成功
which nerdctl

为Centos6配置containerd服务开机自启动

Centos6安装Supervisor: https://blog.youkuaiyun.com/omaidb/article/details/120519191

SysVinit的开机服务真是太丑了,决定还是用Supervisor来做服务开机自启.

# 添加containerd服务自启动配置
vim /etc/supervisord.conf

服务内容如下:

# containerd服务自启
[program:containerd]
# 执行的命令
command=/app/nerdctl/bin/containerd
# 程序工作目录
directory=/app/nerdctl/bin

启动containerd服务

# 重载服务
supervisorctl reload
# 查看服务运行状态
supervisorctl status

在这里插入图片描述


设置nerdctl自动补全

# 启用 bash 自动补全功能(加载系统预置的补全规则)
source /usr/share/bash-completion/bash_completion

# 动态生成 nerdctl 的 bash 补全脚本并立即生效(仅当前会话有效)
source <(nerdctl completion bash)

# 持久化配置:将补全脚本生成命令写入全局配置文件(所有用户/会话生效)
echo "source <(nerdctl completion bash)" >>/etc/profile.d/nerdctl.sh

# 设置nerdctl别名为docker
echo "alias docker='nerdctl'" >>/etc/profile.d/nerdctl.sh

# 解决docker别名自动补全问题
## https://github.com/containerd/nerdctl/issues/1845#issuecomment-1384224699
# 强制 docker 命令使用 nerdctl 的补全逻辑(覆盖默认 docker 补全规则)
# -o default : 补全后保留默认行为(如自动添加空格)
# -F __start_nerdctl : 调用 nerdctl 自动生成的补全函数
# docker : 目标被补全的命令名称
echo 'complete -o default -F __start_nerdctl docker' >>/etc/profile.d/nerdctl.sh

## 使nerdctl自动补全生效
source /etc/profile.d/nerdctl.sh

现在就可以愉快的使用docker命令了.
注意: 没有docker serarch命令
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

教Linux的李老师

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值