目录
[(2)添加阿里云 docker仓库](#(2)添加阿里云 docker仓库)
其实到这里containerd安装就已经结束了,一下内容是对containerd容器管理工具优化
[4.安装bridge CNI 网络插件](#4.安装bridge CNI 网络插件)
想详细了解容器的可以看我上一章文档
实验环境:
(1)一台centos7.6
(2)关闭防火墙和selinux
(3)可以连接外网
(4)配置公网仓库
1.部署containerd服务
(1)安装yum-util
安装需要的软件包, yum-util 提供yum-config-manager功能
yum -y install yum-utils
(2)添加阿里云 docker 仓库
Containerd软件包及依赖存放于Docker仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#查看是否添加成功
ls /etc/yum.repos.d/docker-ce.repo
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
(3)安装Containerd
yum -y install containerd.io
(4)启动并设置开机自启
systemctl enable containerd --now
(5)查看版本:
containerd -v
其实到这里containerd安装就已经结束了,一下内容是对containerd容器管理工具优化
2.更改Containerd默认配置文件
(1)初始化配置文件
默认的配置文件是不能在K8s中使用的,配置文件基本也没有什么有效内容
containerd config default > /etc/containerd/config.toml
(2)配置镜像加速器地址
#创建加速器文件存放目录
mkdir -p /etc/containerd/certs.d/docker.io/
#添加加速器文件
cat <<END>> /etc/containerd/certs.d/docker.io/hosts.toml
[host."https://docker.itelyou.cf"]
capabilities = ["pull","resolve"]
END
3.安装容器管理命令nerdctl
Containerd自带的ctr和crictl都功能有限,可以安装nerdctl完全替代这些命令而且就是nerdctl管理命令与Docker命令格式语法几乎一样
(1)下载nerdctl命令压缩包
(2)直接解压使用
下载好命令的压缩包以后可以直接解压使用此命令
tar zxvf nerdctl-1.7.7-linux-amd64.tar.gz -C /usr/local/bin/
4.安装 bridge CNI 网络 插件
containerd 依赖 CNI(Container Network Interface)插件来管理容器网络。没有此插件无法对容器进行端口映射从而导致容器无法与外界通信
下载CNI插件:
AMD版
ARM版
mkdir -p /opt/cni/bin
tar zxvf cni-plugins-linux-amd64-v1.5.1.tgz -C /opt/cni/bin/
5.尝试拉取镜像运行容器
(1)拉取Nginx镜像
nerdctl pull nginx:1.27.0
#查看镜像详细信息
nerdctl images
(2)直接创建并运行nginx容器
nerdctl run -d --name=nginx -p 80:80 nginx:1.27.0
命令注释:
docker run -d -p 80:80 --name 自定义容器名称 镜像标识|镜像名称[:tag]
-d 代表后台运行
-p 宿主机端口:容器端口 ,实现一个端口映射
--name 容器名称: 指定容器的名称
#查看容器状态
nerdctl ps
(3)进入容器
nerdctl exec -it nginx bash
(4)简单在容器里写一个页面
echo '<font color=red><h1>hello containerd ! ! !</h1>' > /usr/share/nginx/html/index.html