1.3. Docker を使用せずにコンテナーを実行する
Podman を使用することで、コンテナー化されたアプリケーションを RHEL 上で実行できます。これにより、中央デーモンへの依存関係が排除され、ルートレス操作によりシステムセキュリティーが向上します。
podman- docker パッケージでは、Docker 形式のイメージを管理するための互換性のある環境が提供され、同時にシステムフットプリントの削減と分離性の向上も確保されます。
Red Hat では、RHEL 8 から Docker コンテナーエンジンと、docker コマンドが削除されました。RHEL で Docker を引き続き使用する場合は、異なるアップストリームプロジェクトから Docker を取得できますが、RHEL 10 ではサポート対象外になります。
-
podman-dockerパッケージをインストールできます。dockerコマンドを実行するたびに、実際にはpodmanコマンドが実行されます。 -
Podman は Docker Socket API にも対応しているため、
podman-dockerパッケージは/var/run/docker.sockと/var/run/podman/podman.sockの間でリンクを設定します。そのため、Docker デーモンを必要とせずに、docker-pyとdocker-composeツールを使用して Docker API コマンドをそのまま実行できます。 -
podmanコマンドは、dockerコマンドと同様に、ContainerfileまたはDockerfileからコンテナーイメージをビルドできます。ContainerfileおよびDockerfile内で使用できる利用可能なコマンドは同じです。 -
Podman を使用する場合、dockerコマンドで使用できる network、node、secret、service、stack、swarm などのオプションの一部は使用できません。Podman はプラグインをサポートしていないため、プラグインオプションも使用できません。Podman でコンテナーの名前を変更する場合は、rename オプションではなく、rmコマンドを実行してから create コマンドを実行する必要があります。Podman では、コンテナーやイメージのオプションを使用する代わりに、サブコマンドを直接実行します。