安装Containerd
Docker安装文件中已包含了Containerd
安装Docker后,可以无需启动Docker,只需要配置和启动Containerd即可
sudo yum install -y yum-utils
#如果在官网安装慢,使用阿里云的库
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce-20.10.* docker-ce-cli-20.10.*
#设置开机启动
systemctl enable containerd
systemctl start containerd
systemctl status containerd
#查看版本
ctr version
ctr --help
镜像命令
#查看镜像
ctr images ls
#拉取镜像
ctr images pull docker.io/library/nginx:alpine
#把已下载的镜像挂载到当前文件系统
ctr images mount docker.io/library/nginx:alpine /mnt
#查看镜像中的文件
ls /mnt/usr/share/nginx/html/
#卸载
umount /mnt
导出导入镜像
#把镜像导出到本地文件中
ctr images export nginx.img docker.io/library/nginx:alpine
#删除镜像
ctr images rm docker.io/library/nginx:alpine
#导入镜像
ctr images import nginx.img
#修改镜像tag
ctr images tag docker.io/library/nginx:alpine harbor.intmall.com/library/nginx:alpine
#镜像检查
ctr images check
容器命令
#查看容器
ctr container ls
#创建静态容器(创建容器后,容器并有没有处于运行状态,还只是一个静态的容器,包含了运行一个容器所需的资源及配置的数据结构)
ctr container create docker.io/library/nginx:alpine nginx
#查看静态容器
ctr container ls
#查看某个静态容器的信息
ctr container info nginx
#查看运行中的容器
ctr task ls
启动容器
#静态容器启动为动态容器
ctr task start -d nginx
ctr task ls
ctr task ps nginx
ps -ef|grep 7410 #进程ID
进入容器
ctr task exec --exec-id 1 nginx /bin/sh #exec-id可以使用任意一个数字
ifconfig
curl http://127.0.0.1
exit
直接运行一个动态容器
ctr run -d --net-host docker.io/library/nginx:alpine nginx2 #net-host使用宿主机网络
ctr task ls
#进入容器
ctr task exec --exec-id $RANDOM -t nginx2 /bin/sh
ifconfig
curl http://127.0.0.1
#修改容器中的文件
echo "nginx2" > /usr/share/nginx/html/index.html
curl http://127.0.0.1
exit
#访问宿主机
curl http://192.168.56.101
暂停、恢复容器
#暂停容器
ctr task ls
ctr task pause nginx2
ctr task ls #状态为PAUSED
#恢复容器
ctr task resume nginx2
ctr task ls
停止容器
ctr task kill nginx2
ctr task ls
ctr task rm nginx2 #进程被删除,静态容器还没有删除
ctr task ls
ctr container ls
#再次运行
ctr task start -d nginx2
ctr task ls
删除容器
#需要先停止容器后才能删除:ctr task kill nginx2
ctr container delete nginx2
k8s中的容器命令
crictl ps
crictl log