mkdir containerd cd containerd wget https://github.com/containerd/containerd/releases/download/v1.6.17/cri-containerd-cni-1.6.17-linux-amd64.tar.gz tar -xvf cri-containerd-cni-1.6.17-linux-amd64.tar.gz rm -rf opt rm -rf ./etc/cni # ./etc/systemd/system/containerd.service 爲containerd 服務的配置文件 #將當前目錄的usr 和etc 文件夾拷貝到根目錄 cp -r usr / cp -r etc / #生成默認的配置文件 mkdir /etc/containerd containerd config default > /etc/containerd/config.toml vi /etc/containerd/config.toml # omm_score = 0 修改成-999 這個是守護進程不應該沒有內存的時候殺死它 # 設置開機啓動並且啓動containerd systemctl enable containerd systemctl restart containerd systemctl status containerd
ctr i ls ctr i pull redis:alpine -- 這裏需要寫全路徑docker能直接用redis:alpine是因爲配置文件默認添加了docker的前綴地址 ctr i pull docker.io/library/redis:alpine ctr ns -h 命名空間查看 (docker 的命名空間是moby docker 和 containerd鏡像存儲的地方是兩個地方 )k8s.io # 可以用-n 參數來指定命名空間查看image ctr -n default i ls
ctr -n moby i ls (查看docker的imager) du -sm /var/lib/containerd containerd 要使用docker的鏡像可以 將docker 的鏡像打完tag 之後推送到 鏡像倉庫 ,然後containerd 進行拉取。 ctr run -t -d [imgUrl] [serviceName] ctr c ls --查看容器列表 ctr t ls --查看任務列表 ctr t kill [serviceName] ctr t ls ctr t rm [serviceName] ctr c rm [serviceName] #docker 和 containerd 的運行時 本質上只是命名空間的不同 #crictl 命令 crictl 命令使用和docker命令類似 這裏就不作過多贅述 crictl pods
- docker 和 containerd 的運行時 本質上只是命名空間的不同
- 使用ctr i pull 拉取鏡像的時候一定要寫全路徑 ctr i pull docker.io/library/redis:alpine