|
|
673行目: |
673行目: |
| # 例: CMD echo "This is a test." | wc - | | # 例: CMD echo "This is a test." | wc - |
| CMD <コマンド> <引数 1> <引数 2> <引数...> | | CMD <コマンド> <引数 1> <引数 2> <引数...> |
| <br><br>
| |
|
| |
| == Podman Compose ==
| |
| ==== Podman Composeについて ====
| |
| <code>podman compose</code>コマンドは、docker-composeやpodman-composeのような外部のComposeプロバイダの薄いラッパーである。<br>
| |
| つまり、<code>podman compose</code>はConpose機能を実装する別のツールを実行するが、Composeプロバイダがローカルの Podmanソケットと透過的に通信できるように環境を設定する。<br>
| |
| <br>
| |
| 指定したオプション、コマンド、引数は直接composeプロバイダに渡される。<br>
| |
| デフォルトのComposeプロバイダは、docker-composeとpodman-composeである。<br>
| |
| <br>
| |
| <u>両方ともインストールされている場合は、docker-composeが優先される。</u><br>
| |
| なぜなら、docker-composeはCompose仕様のオリジナルの実装であり、サポートされているプラットフォーム (Linux、MacOS、Windows) で広く使用されているからである。<br>
| |
| <br>
| |
| デフォルトの挙動を変更する場合や、選択したプロバイダのカスタムインストールパスが必要な場合は、containers.confファイルの<code>compose_provider</code>フィールドを変更する必要がある。<br>
| |
| また、環境変数<code>PODMAN_COMPOSE_PROVIDER</code>を設定して変更することもできる。<br>
| |
| <br>
| |
| ==== Podman Composeのインストール ====
| |
| ===== パッケージ管理システムからインストール =====
| |
| # RHEL
| |
| sudo dnf install podman-compose
| |
|
| |
| # SUSE
| |
| sudo zypper install python3-podman-compose
| |
| <br>
| |
| ===== 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
| |
| <br>
| |
| ===== ソースコードからインストール =====
| |
| まず、PyYAMLおよびPython-DotEnvをインストールする。<br>
| |
| パッケージ管理システムからPyYAMLおよびPython-DotEnvをインストールする場合、依存関係が多すぎるため、PyPIからインストールすることを推奨する。<br>
| |
| pip3 install --user python-dotenv PyYAML
| |
| <br>
| |
| もし、CNIネットワークを使用する場合は、Podman DNSname Pluginをインストールする。<br>
| |
| ただし、2023年以降、Podman DNSname Pluginの開発は止まっているため、[https://github.com/containers/netavark/ netavark]と[https://github.com/containers/aardvark-dns/ aardvark-dns]を使用することを推奨する。<br>
| |
| # 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
| |
| <br>
| |
| Podman ComposeのGithubから、ソースコードをダウンロードする。<br>
| |
| git clone https://github.com/containers/podman-compose.git -b stable
| |
| <br>
| |
| Podman Composeをビルドおよびインストールする。<br>
| |
| export PYTHONPATH="/<Podmanのインストールディレクトリ>/lib/python<Pythonのバージョン>/site-packages:$PYTHONPATH"
| |
|
| |
| python3 ./setup.py build
| |
| python3 ./setup.py install --prefix=<Podmanのインストールディレクトリ>
| |
| <br>
| |
| ~/.profileファイル等に、環境変数<code>PYTHONPATH</code>を設定する。<br>
| |
| <syntaxhighlight lang="sh">
| |
| export PYTHONPATH="/<Podmanのインストールディレクトリ>/lib/python<Pythonのバージョン>/site-packages:$PYTHONPATH"
| |
| </syntaxhighlight>
| |
| <br><br> | | <br><br> |
|
| |
|