もっと詳しく

コンテナ は、コンテナのライフサイクルを管理する業界標準のコンテナランタイムです。 画像の転送と保存、コンテナの実行と監視、低レベルの保存とネットワーク接続などを処理します。

コンテナはの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.