2.5 KiB
2.5 KiB
Setting up Podman service for systemd socket activation
system-wide (podman service run as root)
The following unit file examples assume:
- copied the
serviceexecutable into/usr/local/bin chcon system_u:object_r:container_runtime_exec_t:s0 /usr/local/bin/service
then:
- copy the
podman.serviceandpodman.socketfiles into/etc/systemd/system systemctl daemon-reloadsystemctl enable podman.socketsystemctl start podman.socketsystemctl status podman.socket podman.service
Assuming the status messages show no errors, the libpod service is ready to respond to the APIv2 on the unix domain socket /run/podman/podman.sock
podman.service
[Unit]
Description=Podman API Service
Requires=podman.socket
After=podman.socket
Documentation=man:podman-api(1)
StartLimitIntervalSec=0
[Service]
Type=oneshot
Environment=REGISTRIES_CONFIG_PATH=/etc/containers/registries.conf
ExecStart=/usr/local/bin/service
TimeoutStopSec=30
KillMode=process
[Install]
WantedBy=multi-user.target
Also=podman.socket
podman.socket
[Unit]
Description=Podman API Socket
Documentation=man:podman-api(1)
[Socket]
ListenStream=%t/podman/podman.sock
SocketMode=0660
[Install]
WantedBy=sockets.target
user (podman service run as given user aka "rootless")
The following unit file examples assume:
- you have a created a directory
~/bin - copied the
serviceexecutable into~/bin chcon system_u:object_r:container_runtime_exec_t:s0 ~/bin/service
then:
mkdir -p ~/.config/systemd/user- copy the
podman.serviceandpodman.socketfiles into~/.config/systemd/user systemctl --user enable podman.socketsystemctl --user start podman.socketsystemctl --user status podman.socket podman.service
Assuming the status messages show no errors, the libpod service is ready to respond to the APIv2 on the unix domain socket /run/user/$(id -u)/podman/podman.sock
podman.service
[Unit]
Description=Podman API Service
Requires=podman.socket
After=podman.socket
Documentation=man:podman-api(1)
StartLimitIntervalSec=0
[Service]
Type=oneshot
Environment=REGISTRIES_CONFIG_PATH=/etc/containers/registries.conf
ExecStart=%h/bin/service
TimeoutStopSec=30
KillMode=process
[Install]
WantedBy=multi-user.target
Also=podman.socket
podman.socket
[Unit]
Description=Podman API Socket
Documentation=man:podman-api(1)
[Socket]
ListenStream=%t/podman/podman.sock
SocketMode=0660
[Install]
WantedBy=sockets.target