Containerdのメモ
目次
Containerdの環境構築
Kubernetesがコンテナ環境をDockerからContainerdに移行しているので、今回はローカル環境もDockerからContainerdに移行してみます。
今回必要なものは以下の通りです。
ただ、nerdctl-fullによりすべて揃えることができるため、構築は簡単です。
- containerd
- nerdctl
- containeredのCLI
- CNI plugins
- BuildKit
- RootlessKit
- root less化のツール
- slirp4netns
- root less時のネットワークツール
nerdctlのインストール
# nerdctl-fullをダウンロード
curl -OL https://github.com/containerd/nerdctl/releases/download/v1.1.0/nerdctl-full-1.1.0-linux-amd64.tar.gz
# インストール
sudo tar Cxzvvf /usr/local nerdctl-full-1.1.0-linux-amd64.tar.gz
Containerdの利用
# rootless化
containerd-rootless-setuptool.sh install
containerd-rootless-setuptool.sh install-buildkit
containerd-rootless-setuptool.sh install-bypass4netnsd
# コンテナを起動
nerdctl run -d --name nginx -p 8080:80 nginx:alpine
# もしネットワーク関連でエラーが出る場合
containerd-rootless-setuptool.sh nsenter bash
vim /etc/resolv.conf
//nameserver 8.8.8.8
エラー対応
- WARN[0000] Ignoring: volume: Bind: [CreateHostPath]
docker-compose.ymlのvalumes部分の記載に問題があります。
下記の形式で記載してください。
volumes:
- type: bind
source: /source/fullpath
target: /target/fullpath
メモ
rootlessでnerdctlが一部利用がうまくいかなかったので、下記でrootfull化します。
# rootfull化
containerd-rootless-setuptool.sh uninstall
containerd-rootless-setuptool.sh uninstall-buildkit
containerd-rootless-setuptool.sh uninstall-bypass4netnsd