普段、Dockerを使っていますが、「Dockerより軽くて安全らしい!」という
噂だけで、Podmanが気になりすぎるので、使ってみることにしました。
はじめに
とりあえず、最低限使えるレベルのものをレベルで書いていきます。
詳しい項目の説明等は、別途書く予定です。
Podmanのいい所
Dockerと互換性があるため、Dockerのコマンドをほぼそのまま使うことができます!
例えば、Dockerの docker run
は、Podmanの podman run
など、
置き換えるだけで使える!便利!!
何が軽くて安全なのか?
-
安全な理由
- 非root権限でコンテナを実行することができる。
Dockerは、デフォルト設定でコンテナをroot権限で実行される
対応として、Dockerfile の USER で指定したユーザーで実行することで、
root権限での実行を防ぐことができるが、Podmanはデフォルトで非root権限で実行される
- 非root権限でコンテナを実行することができる。
-
軽い理由
- Podmanはデーモンを使わないため、Dockerよりも軽量
デーモンって?
- デーモン(英: daemon)は、UNIX系オペレーティングシステムにおいて、
バックグラウンドで動作するプロセスのことです。
- デーモン(英: daemon)は、UNIX系オペレーティングシステムにおいて、
- Podmanはデーモンを使わないため、Dockerよりも軽量
なにわともあれ、やってみよう!
前提条件
- WSL2がインストールされていること
Podmanのインストール
- Linuxの名前やバージョン、ID等を取得
. /etc/os-release
- Ubuntuシステムでのパッケージのソースリストに新しいリポジトリを追加する
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
- wgetコマンドを使用して、指定されたURLからファイルをダウンロードして、Release.keyという名前で保存する
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O Release.key
- apt-key addコマンドを使用して、Release.keyファイルをリリースキーとしてシステムに追加する
sudo apt-key add - < Release.key
- パッケージリストを更新する (-qq : 出力を抑制するオプション)
sudo apt-get update -qq
- Podmanをインストールする
sudo apt-get -qq -y install podman
- Podmanのバージョンを確認する
podman --version
終わりに
Podmanを使ってみましたが、Dockerとの互換性があるため、
Dockerを使っている人にとっては、操作感は変わらないかもしれません。
今回は、インストールまでの手順を書きましたが、
また、コンテナ同士の通信や、ネットワーク周りの設定なども試してみたいと思います!