Centos6安装nerdctl容器运行时
- 前言
- Centos6安装docker---失败--`不可拉取镜像`
- docker配置国内镜像加速
- Centos6安装nerdctl-full容器管理工具
- 为Centos6配置containerd服务开机自启动
- 设置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.csdn.net/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.csdn.net/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
命令