「Podman - ポッド」の版間の差分
ナビゲーションに移動
検索に移動
(→概要) |
細 (文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{…) |
||
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
== 概要 == | == 概要 == | ||
Podmanのポッドは、1つ以上のコンテナをグループ化した論理的な単位である。<br> | Podmanのポッドは、1つ以上のコンテナをグループ化した論理的な単位である。<br> | ||
ポッドとは、Kubernetesプロジェクトによって普及した概念であり、同じ名前空間とcgroup (リソース制約) を共有する1つ以上のコンテナのことである。<br> | |||
<br> | |||
これは、Kubernetesのポッドの概念に似ている。<br> | これは、Kubernetesのポッドの概念に似ている。<br> | ||
<br> | <br> | ||
142行目: | 144行目: | ||
<br><br> | <br><br> | ||
{{#seo: | |||
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki | |||
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板 | |||
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux | |||
|image=/resources/assets/MochiuLogo_Single_Blue.png | |||
}} | |||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:コンテナ]] | [[カテゴリ:コンテナ]] |
2024年10月14日 (月) 10:34時点における最新版
概要
Podmanのポッドは、1つ以上のコンテナをグループ化した論理的な単位である。
ポッドとは、Kubernetesプロジェクトによって普及した概念であり、同じ名前空間とcgroup (リソース制約) を共有する1つ以上のコンテナのことである。
これは、Kubernetesのポッドの概念に似ている。
ポッドの特徴を以下に示す。
- 共有ネームスペース
- ポッド内のコンテナは、ネットワークやIPC (プロセス間通信) 等のリソースを共有する。
- ライフサイクル管理
- ポッド内のコンテナは一緒に起動・停止する。
- ボリューム共有
- ポッド内のコンテナ間でボリュームを共有できる。
ポッドを使用するメリットを以下に示す。
- 密結合アプリケーション
- 関連するコンテナをグループ化して、効率的に管理できる。
- リソース効率
- 共有ネームスペースにより、リソースの効率的な利用が可能である。
- 簡易化された管理
- 複数のコンテナを1つの単位として扱うことができる。
ポッドの使用例を以下に示す。
- マイクロサービスアーキテクチャ
- 関連するサービスをポッドとしてグループ化する。
- サイドカーパターン
- メインアプリケーションと補助サービスを1つのポッドにする。
ポッドの管理 (Podman podサブコマンド)
Podman podサブコマンドは、Podmanでポッドを管理するために使用する。
これらのコマンドとオプションを使用することにより、Podmanでポッドを効果的に管理することができる。
ポッドは複数のコンテナをグループ化して、それらを1つの単位として扱うことができるため、マイクロサービスアーキテクチャの実装やアプリケーションの構造化に役立つ。
新規ポッドの作成
podman pod create
コマンドのオプションを以下に示す。
- --name
- ポッド名を指定する。
- -p または --publish
- ポートマッピングを設定する。
- --infra=<true または false>
- infraコンテナを作成するオプションである。(デフォルトは
true
)- trueを指定する場合は、infraコンテナを作成する。
- falseを指定する場合は、infraコンテナを作成しない。
- --infra-command <コマンド>
- infraコンテナで実行するコマンドを指定する。
- --infra-image <イメージ名>
- infraコンテナに使用するイメージを指定する。
- --cgroup-parent <親cgroup名>
- 親のcgroupを指定する。
- --label
- ポッドにラベルを追加する。
- --network <ネットワークモード>
- ポッドのネットワークモードを指定する。
- --share <名前空間名>
- 名前空間の共有を指定する。
- 例: ipc、net等
# 例 podman pod create --name <ポッド名> -p 8080:80
既存ポッドの一覧の表示
# 例 podman pod list または podman pod ls
停止しているポッドの起動
# 例 podman pod start <ポッド名>
実行中のポッドの停止
# 例 podman pod stop <ポッド名>
ポッドの再起動
# 例 podman pod restart <ポッド名>
ポッドの削除
# 例 podman pod remove <ポッド名> または podman pod rm <ポッド名>
ポッドの詳細情報の表示
# 例 podman pod inspect <ポッド名>
ポッド内で実行中のプロセスを表示
# 例 podman pod top <ポッド名>
ポッドの一時停止
# 例 podman pod pause <ポッド名>
一時停止したポッドを再開
# 例 podman pod unpause <ポッド名>
ポッドのリソース使用統計を表示
# 例 podman pod stats
停止している全てのポッドを削除
# 例 podman pod prune
ネットワークモード
podman pod create
コマンドの--network
オプションで指定できるネットワークモードを、以下に示す。
これらのネットワークモードを使用することにより、ポッドのネットワーク構成を柔軟に設定することができる。
選択するモードは、セキュリティ要件、パフォーマンスニーズ、アプリケーションのアーキテクチャなどに応じて決定する必要がある。
- bridge (デフォルト)
- ポッドは独立したネットワーク名前空間を持ち、仮想イーサネットペアを通じてホストのデフォルトのbridgeネットワークに接続される。
- 例:
podman pod create --network bridge
- host
- ポッドはホストのネットワーク名前空間を直接使用する。
- ホストのネットワークインターフェースに直接アクセスできるため、パフォーマンスが向上するが、セキュリティリスクも高まる。
- 例:
podman pod create --network host
- slirp4netns
- ルートレス (非特権) モードで実行する際に使用される。
- ユーザ名前空間内でネットワークを仮想化する。
- 例:
podman pod create --network slirp4netns
- none
- ポッドに対してネットワークインターフェースを作成しない。
- 完全に隔離されたネットワーク環境が必要な場合に使用する。
- 例:
podman pod create --network none
- カスタムネットワーク
podman network create
コマンドで作成したカスタムネットワークを指定することができる。- 例:
podman pod create --network my_custom_network
- container:<コンテナID または コンテナ名>
- 既存のコンテナのネットワーク名前空間を使用する。
- 例:
podman pod create --network container:my_existing_container
- ns:<既存のネットワーク名前空間名>
- 既存のネットワーク名前空間を直接指定する。
- 例:
podman pod create --network ns:/var/run/netns/my_netns
- private
- ポッドに対して新しい独立したネットワーク名前空間を作成するが、外部ネットワークには接続しない。
- 例:
podman pod create --network private