コンテナ は、コンテナのライフサイクルを管理する業界標準のコンテナランタイムです。 画像の転送と保存、コンテナの実行と監視、低レベルの保存とネットワーク接続などを処理します。
コンテナはの1つです コンテナランタイム これはKubernetesで動作し、そのシンプルさから環境に最適です。
ここでは、ContainerdをFedora 36 /Fedora35にインストールする方法を説明します。
ContainerdをFedoraにインストールする
公式バイナリを使用して、またはDockerリポジトリからcontainerdをインストールできます。
公式バイナリを使用してコンテナをインストールする
Containerdをインストールする
まず、コンテナ化されたバイナリの最新バージョンをからダウンロードします GitHub ファイルをに抽出します /usr/local/
ディレクトリ。
wget https://github.com/containerd/containerd/releases/download/v1.6.6/containerd-1.6.6-linux-amd64.tar.gz sudo tar Czxvf /usr/local containerd-1.6.6-linux-amd64.tar.gz
次に、systemdサービスファイルをダウンロードしてセットアップし、systemdを介してサービスを管理できるようにします。
wget https://raw.githubusercontent.com/containerd/containerd/main/containerd.service sudo mv containerd.service /usr/lib/systemd/system/ sudo restorecon -Rv /usr/lib/systemd/system/
最後に、以下のコマンドを使用して、containerdサービスを開始します。
sudo systemctl daemon-reload sudo systemctl enable --now containerd
runCをインストールします
runC は、OCI仕様に従ってLinux上でコンテナを生成および実行するためのCLIツールです。
runCの最新バージョンをからダウンロードします GitHub としてインストールします /usr/local/sbin/runc
。
wget https://github.com/opencontainers/runc/releases/download/v1.1.3/runc.amd64 sudo install -m 755 runc.amd64 /usr/local/sbin/runc
Kubernetesのコンテナ構成
containerdは構成ファイルを使用します config.toml
その悪魔を処理するため。 公式バイナリを介してcontainerdをインストールする場合、構成ファイルは取得されません。 したがって、以下のコマンドを使用してデフォルトの構成ファイルを生成します。
sudo mkdir -p /etc/containerd/ containerd config default | sudo tee /etc/containerd/config.toml
コンテナをKubernetesのランタイムとして使用する場合は、runC用にsystemdcgroupドライバーを構成します。
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
次に、以下のコマンドを使用して、containerdサービスを再起動します。
sudo systemctl restart containerd
Dockerリポジトリの使用
Dockerはcontainerdを提供します containerd.io
のパッケージ .deb
Dockerリポジトリを介してフォーマットします。 したがって、コンテナインストールに必要なパッケージをインストールします。
Dockerリポジトリを設定する
以下のコマンドを実行して、Dockerリポジトリをシステムに追加します。
sudo dnf -y install dnf-plugins-core sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
Containerdをインストールする
次に、を使用してコンテナをインストールします dnf
指図。
sudo dnf install -y containerd.io
次に、コンテナサービスを開始します
sudo systemctl enable --now containerd
次に、コンテナサービスのステータスを確認します。
sudo systemctl status containerd
Kubernetesのコンテナ構成
containerdは構成ファイルを使用します config.toml
悪魔を管理するため。 Kubernetesの場合、次のことを行う必要があります runC用にSystemdグループドライバーを構成します。
cat <<EOF | sudo tee -a /etc/containerd/config.toml [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] SystemdCgroup = true EOF
次に、コメントアウトしてCRIプラグインを有効にします disabled_plugins = ["cri"]
の中に config.toml
ファイル。
sudo sed -i 's/^disabled_plugins =/#disabled_plugins =/g' /etc/containerd/config.toml
次に、以下のコマンドを使用して、containerdサービスを再起動します。
sudo systemctl restart containerd
Containerd/Kubernetes用のCNIプラグインをインストールする
コンテナを実行するには、CNIプラグインをインストールする必要があります。 Fedoraでは、CNIプラグインは /usr/libexec/cni
デフォルトではディレクトリ。 この場所はCNIプラグインの標準ではありません。 したがって、標準のCNIディレクトリへのシンボリックリンクを作成します /opt/cni/bin
。
sudo dnf install -y containernetworking-plugins sudo mkdir /opt/cni && sudo ln -sf /usr/libexec/cni/ /opt/cni/bin
次に、containerdサービスを再起動します。
sudo systemctl restart containerd
次に、コンテナサービスのステータスを確認します。
sudo systemctl status containerd
出力:
● containerd.service - containerd container runtime Loaded: loaded (/usr/lib/systemd/system/containerd.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2022-07-24 01:44:29 EDT; 5min ago Docs: https://containerd.io Process: 771 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS) Main PID: 777 (containerd) Tasks: 8 Memory: 76.1M CPU: 144ms CGroup: /system.slice/containerd.service └─ 777 /usr/local/bin/containerd Jul 24 01:44:29 fedora.itzgeek.local containerd[777]: time="2022-07-24T01:44:29.349868141-04:00" level=info msg=servin> Jul 24 01:44:29 fedora.itzgeek.local containerd[777]: time="2022-07-24T01:44:29.349938386-04:00" level=info msg=servin> Jul 24 01:44:29 fedora.itzgeek.local containerd[777]: time="2022-07-24T01:44:29.350046585-04:00" level=info msg="conta> Jul 24 01:44:29 fedora.itzgeek.local systemd[1]: Started containerd.service - containerd container runtime.
nerdctlのインストール(CLI)
nerdctl containerd用のDocker準拠のコマンドラインインターフェースです。 これはコアパッケージの一部ではなく、最新バージョンのをインストールできます。 nerdctl
から GitHub。
wget https://github.com/containerd/nerdctl/releases/download/v0.21.0/nerdctl-0.21.0-linux-amd64.tar.gz sudo tar Cxzvf /usr/local/bin nerdctl-0.21.0-linux-amd64.tar.gz
サンプルコマンド:
sudo nerdctl run -d -p 80:80 --name=nginx nginx
結論
それで全部です。 コンテナをFedora36/Fedora35にインストールする方法を学んだことを願っています。
The post コンテナをFedora36/Fedora35にインストールする方法 appeared first on Gamingsym Japan.