#author("2021-07-08T15:13:51+09:00","default:nobuoki","nobuoki") #author("2025-12-25T16:14:22+09:00","default:nobuoki","nobuoki") * Obsolated [#n5e7669d] コンテナ1つだったら quadlet を使いましょう - [[15.4. podman generate systemd コマンドではなく Quadlet を使用する利点 | コンテナーの構築、実行、および管理 | Red Hat Enterprise Linux | 9 | Red Hat Documentation>https://docs.redhat.com/ja/documentation/red_hat_enterprise_linux/9/html/building_running_and_managing_containers/advantages-of-using-quadlets-over-the-podman-generate-systemd-command_assembly_porting-containers-to-systemd-using-podman]] - [[Podman Quadlet で簡単systemd>https://zenn.dev/okomeki/articles/06eb7ee20b710f]] - [[PodmanのQuadletでコンテナのsystemdサービス化を行う>https://blog.mmmcorp.co.jp/2024/02/29/podman_quadlet/]] docker compose からの移行であれば、 - podman api (podman.socket) を常駐させて - DOCKER_HOST=unix://$XDG_RUNTIME_DIR/podman/podman.sock docker compose ... を user systemd でサービス化しましょう ---- * はじめに [#t01fe3ac] 例として RStudio を Podman で立ち上げて、母艦のOS再起動時に自動で立ち上がるようにします - docker の場合、docker run --restart=always で同様のことができます - podman は(docker daemon 的なものが無いので)systemd を使います 変更履歴 - 2021/07/08 loginctl enable-linger を追加、ページタイトルを修正 * コンテナを作成する [#j4e5f362] 今回は RMeCab 入りのイメージを使いました #prism(bash){{{ podman run \ -d \ --name rstudio \ -p 8787:8787 \ ymattu/mecab-d }}} * systemdに登録 [#f55c6fff] - [[NAME — Podman documentation>https://podman.readthedocs.io/en/latest/markdown/podman-generate-systemd.1.html]] - [[ユーザー権限で systemd のサービスを稼働させる方法 - pyopyopyo - Linuxとかプログラミングの覚え書き ->https://pyopyopyo.hatenablog.com/entry/2021/04/30/233755]] 上記を参考にしました。 #prism(bash){{{ # service ファイルを生成 $ podman generate systemd --name --files --restart-policy=always rstudio /home/nobuoki/docker-files/rstudio/container-rstudio.service # ユーザー固有のunitとしてファイルを配置 $ mkdir -p ~/.config/systemd/user/ cp container-rstudio.service ~/.config/systemd/user/ # 母艦のOS起動時に自動起動させる $ systemctl --user enable container-rstudio.service Created symlink /home/nobuoki/.config/systemd/user/multi-user.target.wants/container-rstudio.service → /home/nobuoki/.config/systemd/user/container-rstudio.service. Created symlink /home/nobuoki/.config/systemd/user/default.target.wants/container-rstudio.service → /home/nobuoki/.config/systemd/user/container-rstudio.service. # ログインしなくてもOS起動時に自動起動できるようにする # (ログインしていないユーザーが長時間実行されるサービスを実行できるようにする) sudo loginctl enable-linger $USER }}} 完了です