tokita.shinichi
2023年11月21日 10時55分
お世話になります。
製品マニュアルの6.2.2.14. コンテナからのコンテナ管理について、「podman_start をインストールすればそちらも --remote で使えます。」とありますが、インストール方法がわかりませんでした。コンテナはAlpineですが、利用可能パッケージには見当たりませんでした。方法をご教授いただければ幸いです。
以上、宜しくお願いいたします。
コメント
tokita.shinichi
マルティネ様
ご回答ありがとうございます。
podman --remoteでも対応できそうでしたので、そちらで行いたいと思います。
また、/run/podmanのボリュームマウントについて、そのままではpodman --remoteで以下のエラーが出て使用できなかったため、こちらではマウント先を/run/user/0/podmanに変更していたのですが、回答からCONTAINER_HOSTの変数を変更することでも対応できるとわかったため、そちらで対応したいと思います。
Cannot connect to Podman. Please verify your connection to the Linux system using `podman system connection list`, or try `podman machine init` and `podman machine start` to manage a new Linux VM Error: unable to connect to Podman socket: Get "http://d/v4.5.1/libpod/_ping": dial unix ///run/user/0/podman/podman.sock: connect: no such file or directory
at_dominique.m…
tokita.shinichiさん
マルティネです。
> podman --remoteでも対応できそうでしたので、そちらで行いたいと思います。
お手数をおかけしますが、よろしくお願いします。
> また、/run/podmanのボリュームマウントについて、そのままではpodman --remoteで以下のエラーが出て使用できなかったため、こちらではマウント先を/run/user/0/podmanに変更していたのですが、回答からCONTAINER_HOSTの変数を変更することでも対応できるとわかったため、そちらで対応したいと思います。
はい、とても分かりにくいですが alpine コンテナに入る podman のバージョンの更新で、podman が権限不足であることを察知して /run/podman/podman.sock から /run/user/0/podman/podman.sock へどこかのタイミングで切り替えました…
変数を使った方が安定して再びアップデートで変更があっても安定しますので、こちらとしても変数の方法を推奨します。その設定も、今月のマニュアルの更新で説明を追加する予定です。
よろしくお願いします。
at_dominique.m…
2023年11月21日 12時58分
tokita.shinichiさん
お世話になっています、
マルティネです。
> 製品マニュアルの6.2.2.14. コンテナからのコンテナ管理について、「podman_start をインストールすればそちらも --remote で使えます。」とありますが、インストール方法がわかりませんでした。コンテナはAlpineですが、利用可能パッケージには見当たりませんでした。方法をご教授いただければ幸いです。
説明不足で申し訳ございません。
podman_start は独立した shell スクリプトなので、ABOS 側のスクリプトをコピーするかボリュームマウントするといいです。
例えば、以下のコンフィグファイルでコンテナの管理はできています:
どうしてもパッケージでインストールしたい場合は atmark-techno のリポジトリと鍵をコンテナに追加して、「abos-base」パッケージにあります(ABOS の /etc/apk/repositories, /etc/apk/keys/atmark*pub をコピーできます)
とはいえ、コンテナから podman_start を使うといくつかの機能を使えなくなります:
- podman --remote でいくつかのオプションが認識されなくなりますので、hotplugs をはじめフック機能を使えなくなります
- podman_start が ABOS側でディレクトリを扱う必要がある場合に失敗します(例えば add_volumes に /tmp か /run のパスを指定すると、podman_start がそのディレクトリの生成を行っていますが、ディレクトリがないと podman start が失敗します)
- (podman_start の不具合によって、add_devices を使う場合はデバイスを管理コンテナにも提供する必要があります。それは今月のアップデートで修正します)
hotplugs の対応は gui 系のコンテナに必要ですし、弊社のドキュメンテーションによく使われていますので、それを対応できないとなると podman_start --remote をとても推奨できる状態ではないと考えています。
機能を外す予定がありませんが、その「podman_start も --remote で使えます」をマニュアルから削除しようと思います。
大変お手数をおかけしますが、目的を podman stop/start で対応していただけますでしょうか。
できなかった場合は相談できるかもしれませんので、聞いてください。
よろしくお願いいたします。