設定 - Podman Compose

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
2024年2月5日 (月) 09:39時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == <code>podman compose</code>コマンドは、docker-composeやpodman-composeのような外部のComposeプロバイダの薄いラッパーである。<br> つまり、<code>podman compose</code>はConpose機能を実装する別のツールを実行するが、Composeプロバイダがローカルの Podmanソケットと透過的に通信できるように環境を設定する。<br> <br> 指定したオプション、コマンド、引数は直接co…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要

podman composeコマンドは、docker-composeやpodman-composeのような外部のComposeプロバイダの薄いラッパーである。
つまり、podman composeはConpose機能を実装する別のツールを実行するが、Composeプロバイダがローカルの Podmanソケットと透過的に通信できるように環境を設定する。

指定したオプション、コマンド、引数は直接composeプロバイダに渡される。
デフォルトのComposeプロバイダは、docker-composeとpodman-composeである。

両方ともインストールされている場合は、docker-composeが優先される。
なぜなら、docker-composeはCompose仕様のオリジナルの実装であり、サポートされているプラットフォーム (Linux、MacOS、Windows) で広く使用されているからである。

デフォルトの挙動を変更する場合や、選択したプロバイダのカスタムインストールパスが必要な場合は、containers.confファイルのcompose_providerフィールドを変更する必要がある。
また、環境変数PODMAN_COMPOSE_PROVIDERを設定して変更することもできる。


Podman Composeのインストール

パッケージ管理システムからインストール

# RHEL
sudo dnf install podman-compose

# SUSE
sudo zypper install python3-podman-compose


PyPIからインストール

# Python3のルートディレクトリにインストールする場合
pip3 install podman-compose python-dotenv PyYAML

# Python3のユーザディレクトリにインストールする場合
pip3 install --user podman-compose python-dotenv PyYAML

# GithubからPodman Composeを直接インストールする場合
pip3 install https://github.com/containers/podman-compose/archive/devel.tar.gz
pip3 install python-dotenv PyYAML


ソースコードからインストール

まず、PyYAMLおよびPython-DotEnvをインストールする。
パッケージ管理システムからPyYAMLおよびPython-DotEnvをインストールする場合、依存関係が多すぎるため、PyPIからインストールすることを推奨する。

pip3 install --user python-dotenv PyYAML


もし、CNIネットワークを使用する場合は、Podman DNSname Pluginをインストールする。
ただし、2023年以降、Podman DNSname Pluginの開発は止まっているため、netavarkaardvark-dnsを使用することを推奨する。

# Podman DNSname Pluginのインストール
git clone https://github.com/containers/dnsname.git
cd dnsname

make -j $(nproc) PREFIX=<Podmanのインストールディレクトリ>
make install PREFIX=<Podmanのインストールディレクトリ>

# netavarkおよびaardvark-dnsをパッケージ管理システムからインストール
sudo zypper install netavark aardvark-dns


Podman ComposeのGithubから、ソースコードをダウンロードする。

git clone https://github.com/containers/podman-compose.git -b stable


Podman Composeをビルドおよびインストールする。

export PYTHONPATH="/<Podmanのインストールディレクトリ>/lib/python<Pythonのバージョン>/site-packages:$PYTHONPATH"

python3 ./setup.py build
python3 ./setup.py install --prefix=<Podmanのインストールディレクトリ>


~/.profileファイル等に、環境変数PYTHONPATHを設定する。

 export PYTHONPATH="/<Podmanのインストールディレクトリ>/lib/python<Pythonのバージョン>/site-packages:$PYTHONPATH"