📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| (同じ利用者による、間の8版が非表示) | |||
| 9行目: | 9行目: | ||
なぜなら、docker-composeはCompose仕様のオリジナルの実装であり、サポートされているプラットフォーム (Linux、MacOS、Windows) で広く使用されているからである。<br> | なぜなら、docker-composeはCompose仕様のオリジナルの実装であり、サポートされているプラットフォーム (Linux、MacOS、Windows) で広く使用されているからである。<br> | ||
<br> | <br> | ||
デフォルトの挙動を変更する場合や、選択したプロバイダのカスタムインストールパスが必要な場合は、~/.config/containers.confファイルの<code>compose_provider</code>フィールドを変更する必要がある。<br> | デフォルトの挙動を変更する場合や、選択したプロバイダのカスタムインストールパスが必要な場合は、~/.config/containers/containers.confファイルの<code>compose_provider</code>フィールドを変更する必要がある。<br> | ||
また、環境変数<code>PODMAN_COMPOSE_PROVIDER</code>を設定して変更することもできる。<br> | また、環境変数<code>PODMAN_COMPOSE_PROVIDER</code>を設定して変更することもできる。<br> | ||
<br><br> | |||
== Composeファイル == | |||
デフォルトで読み込まれるファイル名を以下に示す。<br> | |||
<br> | |||
* podman-compose | |||
*: docker-composeとの互換性のため、同じファイル名が使用される。 | |||
*# compose.yaml | |||
*# compose.yml | |||
*# docker-compose.yaml | |||
*# docker-compose.yml | |||
*: <br> | |||
* docker-compose (Docker Compose V2含む) | |||
*: 以下の順序で検索され、最初に見つかったファイルが使用される。 | |||
*# compose.yaml | |||
*# compose.yml | |||
*# docker-compose.yaml | |||
*# docker-compose.yml | |||
<br> | |||
<u>※注意</u><br> | |||
<u>podman-composeコマンドが古い場合、compose.yaml / compose.yml に対応していない場合がある。</u><br> | |||
<u>複数のcomposeファイルが存在する場合は、明示的に <code>-f</code> オプションで指定することを推奨する。</u><br> | |||
<br> | |||
# 明示的にファイルを指定する場合 | |||
podman-compose -f my-compose.yml up -d | |||
<br><br> | <br><br> | ||
| 23行目: | 48行目: | ||
==== PyPIからインストール ==== | ==== PyPIからインストール ==== | ||
# Python3のルートディレクトリにインストールする場合 | # Python3のルートディレクトリにインストールする場合 | ||
pip3 install podman-compose python-dotenv PyYAML | sudo pip3 install podman-compose python-dotenv PyYAML | ||
# Python3のユーザディレクトリにインストールする場合 | # Python3のユーザディレクトリにインストールする場合 | ||
pip3 install --user podman-compose python-dotenv PyYAML | pip3 install --user podman-compose python-dotenv PyYAML | ||
# GithubからPodman | # GithubからPodman Composeをユーザディレクトリに直接インストールする場合 | ||
pip3 install https://github.com/containers/podman-compose/archive/devel.tar.gz | pip3 install --user https://github.com/containers/podman-compose/archive/devel.tar.gz | ||
pip3 install python-dotenv PyYAML | pip3 install --user python-dotenv PyYAML | ||
<br> | <br> | ||
==== ソースコードからインストール ==== | ==== ソースコードからインストール ==== | ||
| 37行目: | 62行目: | ||
パッケージ管理システムからPyYAMLおよびPython-DotEnvをインストールする場合、依存関係が多すぎるため、PyPIからインストールすることを推奨する。<br> | パッケージ管理システムからPyYAMLおよびPython-DotEnvをインストールする場合、依存関係が多すぎるため、PyPIからインストールすることを推奨する。<br> | ||
pip3 install --user python-dotenv PyYAML | pip3 install --user python-dotenv PyYAML | ||
# SLE / openSUSEの場合 | |||
pip3.6 install --user python-dotenv PyYAML | |||
<br> | <br> | ||
===== aardvark- | |||
===== aardvark-dnsおよびnetavarkのインストール (推奨) ===== | |||
* パッケージ管理システムからインストールする場合 | * パッケージ管理システムからインストールする場合 | ||
*# netavarkおよびaardvark-dnsをパッケージ管理システムからインストールする。 | *# netavarkおよびaardvark-dnsをパッケージ管理システムからインストールする。 | ||
| 52行目: | 81行目: | ||
*#: <code>make PREFIX=<Podmanのインストールディレクトリ> -j $(nproc)</code> | *#: <code>make PREFIX=<Podmanのインストールディレクトリ> -j $(nproc)</code> | ||
*#: <code>make PREFIX=<Podmanのインストールディレクトリ> install</code> | *#: <code>make PREFIX=<Podmanのインストールディレクトリ> install</code> | ||
*#: <br> | |||
*# netavarkをインストールする。<br>netavarkを手動でインストールする場合は、[[インストール - Podman#最新のnetavarkが必要な場合|インストール - Podman#ソースコードからインストール#最新のnetavarkが必要な場合]]のページを参照すること。 | |||
<br> | <br> | ||
===== Podman DNSname Pluginのインストール (非推奨) ===== | ===== Podman DNSname Pluginのインストール (非推奨) ===== | ||
もし、CNIネットワークを使用する場合は、Podman DNSname Pluginをインストールする。<br> | もし、CNIネットワークを使用する場合は、Podman DNSname Pluginをインストールする。<br> | ||
| 101行目: | 133行目: | ||
networks: | networks: | ||
frontend: | frontend: | ||
# bridge, overlay, macvlan等を指定する | |||
driver: <ネットワークのドライバを指定> | |||
backend: | backend: | ||
# bridge, overlay, macvlan等を指定する | |||
driver: <ネットワークのドライバを指定> | |||
external: <既存の外部ネットワークを指定> | external: <既存の外部ネットワークを指定> | ||
driver_opts: <ドライバに関連する追加のオプションを指定> | driver_opts: <ドライバに関連する追加のオプションを指定> | ||
ipam: | # IPアドレスの管理に関連する設定を指定する | ||
driver: default | ipam: | ||
config: | # IPアドレス管理のドライバを指定する | ||
- subnet: "<サブネットマスク | driver: default | ||
# driverセクションに指定したドライバに関する設定を指定する | |||
config: | |||
- subnet: "<サブネットマスク 例: 172.18.0.0/16>" | |||
# networksセクションの説明: | # networksセクションの説明: | ||
| 116行目: | 153行目: | ||
services: | services: | ||
<コンテナ名 1 (任意の名前)>: | <コンテナ名 1 (任意の名前) 例: sample1)>: | ||
image: <イメージ (リポジトリ:タグ) を指定する> | # イメージからコンテナを生成する場合、imageを指定 | ||
image: <イメージ (リポジトリ:タグ) を指定する> | |||
command: | command: | ||
<コンテナ起動時に実行するコマンド | <コンテナ起動時に実行するコマンド 例: --default-authentication-plugin=mysql_native_password>> | ||
volumes: | # ホストとコンテナでファイルを同期する場合等 | ||
volumes: | |||
# 例: /tmp/mysql/mysql_data:/var/lib/mysql | |||
- <ホスト側のパス 1:コンテナのパス 1> | |||
- <ホスト側のパス 2:コンテナのパス 2> | - <ホスト側のパス 2:コンテナのパス 2> | ||
# ポート転送 (ポートフォワーディング) を行う場合 | |||
- <ホスト側のポート 1:コンテナのポート 1> | # 例: 63306:3306 | ||
ports: | |||
- <ホスト側のポート 1:コンテナのポート 1> | |||
- <ホスト側のポート 2:コンテナのポート 2> | - <ホスト側のポート 2:コンテナのポート 2> | ||
environment: | # 環境変数を指定する場合 | ||
<環境変数名 1: 環境変数値> | # 例1: MYSQL_ROOT_PASSWORD: password | ||
<環境変数名 2: 環境変数値> | # 例2: MYSQL_PORT: 3306 | ||
environment: | |||
<環境変数名 1: 環境変数値> | |||
<環境変数名 2: 環境変数値> | |||
security_opt: | security_opt: | ||
# AppArmorプロファイルを適用する場合 | |||
# /etc/apparmor.dディレクトリにプロファイルを配置して、apparmor_parserコマンドでプロファイルを読み込む必要がある | |||
- apparmor=<AppArmorプロファイル名> | |||
<コンテナ名 2 (任意の名前) 例: sample2)>: | <コンテナ名 2 (任意の名前) 例: sample2)>: | ||
build: <Containerfileのファイルパス> | build: | ||
# Containerfileが存在するディレクトリ | |||
context: . | |||
# Containerfileのファイル名 | |||
containerfile: Containerfile | |||
# または、以下に示す記述方法でもよい | |||
# Containerfileのファイルパス | |||
#build: <Containerfileのファイルパス> | |||
# 任意のコンテナ名を付けることもできる | |||
container_name: <任意のコンテナ名> | |||
# ホストとコンテナでファイルを同期する場合等 | |||
volumes: | |||
- <ホスト側のパス:コンテナのパス> | - <ホスト側のパス:コンテナのパス> | ||
# ポート転送 (ポートフォワーディング) を行う場合 | |||
ports: | |||
- <ホスト側のポート:コンテナのポート> | - <ホスト側のポート:コンテナのポート> | ||
environment: | # 環境変数を指定する場合 | ||
environment: | |||
<環境変数名 1: 環境変数値> | <環境変数名 1: 環境変数値> | ||
<環境変数名 2: 環境変数値> | <環境変数名 2: 環境変数値> | ||
<環境変数名 3: 環境変数値> | <環境変数名 3: 環境変数値> | ||
# 依存関係を設定する場合 (他のコンテナと連携する場合) | |||
- < | # この項目で指定されたコンテナが先に起動する | ||
depends_on: | |||
- <依存するコンテナ名 例: sample1> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
| 264行目: | 324行目: | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]][[カテゴリ:Web]] | [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]][[カテゴリ:Web]][[カテゴリ:コンテナ]] | ||