我使用 Alpine Linux 和 podman 命令生成容器 systemd
命令:
podman generate systemd -n test -f
输出:
# container-test
# autogenerated by Podman 3.4.7
# Fri Apr 29 02:29:47 CEST 2022
[Unit]
Description=Podman container-test.service
Documentation=man:podman-generate-systemd(1)
Wants=network-online.target
After=network-online.target
RequiresMountsFor=/run/containers/storage
[Service]
Environment=PODMAN_SYSTEMD_UNIT=%n
Restart=on-failure
TimeoutStopSec=70
ExecStart=/usr/bin/podman start test
ExecStop=/usr/bin/podman stop -t 10 test
ExecStopPost=/usr/bin/podman stop -t 10 test
PIDFile=/run/containers/storage/overlay-containers/fc64dadf99ddb38f98ddcb3e022bc575ca39cd57f4e2e8c5cc63595377e2c3ad/userdata/conmon.pid
Type=forking
[Install]
WantedBy=default.target
因为 Alpine Linux 不使用 systemd,所以我需要将此容器服务转换为 openrc
目标是:
将特定容器作为服务启动,并且该容器必须仅对 root 可见
答案1
我找到了这个转换器 http://openrc.run/
这足以进行转换