mirror of
https://github.com/containers/podman.git
synced 2025-06-28 14:29:04 +08:00
Merge pull request #5117 from baude/podmansystemservicesucks
[CI:DOCS]fix systemd files for apiv2
This commit is contained in:
@ -2,11 +2,6 @@
|
|||||||
|
|
||||||
## system-wide (podman service run as root)
|
## system-wide (podman service run as root)
|
||||||
|
|
||||||
The following unit file examples assume:
|
|
||||||
1. copied the `service` executable into `/usr/local/bin`
|
|
||||||
1. `chcon system_u:object_r:container_runtime_exec_t:s0 /usr/local/bin/service`
|
|
||||||
|
|
||||||
then:
|
|
||||||
1. copy the `podman.service` and `podman.socket` files into `/etc/systemd/system`
|
1. copy the `podman.service` and `podman.socket` files into `/etc/systemd/system`
|
||||||
1. `systemctl daemon-reload`
|
1. `systemctl daemon-reload`
|
||||||
1. `systemctl enable podman.socket`
|
1. `systemctl enable podman.socket`
|
||||||
@ -16,47 +11,12 @@ then:
|
|||||||
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`
|
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
|
### podman.service
|
||||||
```toml
|
You can refer to [this example](https://github.com/containers/libpod/blob/master/contrib/systemd/system/podman.service) for a sample podman.service file.
|
||||||
[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
|
### podman.socket
|
||||||
|
You can refer to [this example](https://github.com/containers/libpod/blob/master/contrib/systemd/system/podman.socket) for a sample podman.socket file.
|
||||||
|
|
||||||
```toml
|
|
||||||
[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")
|
## user (podman service run as given user aka "rootless")
|
||||||
|
|
||||||
The following unit file examples assume:
|
|
||||||
1. you have a created a directory `~/bin`
|
|
||||||
1. copied the `service` executable into `~/bin`
|
|
||||||
1. `chcon system_u:object_r:container_runtime_exec_t:s0 ~/bin/service`
|
|
||||||
|
|
||||||
then:
|
|
||||||
1. `mkdir -p ~/.config/systemd/user`
|
1. `mkdir -p ~/.config/systemd/user`
|
||||||
1. copy the `podman.service` and `podman.socket` files into `~/.config/systemd/user`
|
1. copy the `podman.service` and `podman.socket` files into `~/.config/systemd/user`
|
||||||
1. `systemctl --user enable podman.socket`
|
1. `systemctl --user enable podman.socket`
|
||||||
@ -66,37 +26,7 @@ then:
|
|||||||
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`
|
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
|
### podman.service
|
||||||
|
You can refer to [this example](https://github.com/containers/libpod/blob/master/contrib/systemd/user/podman.service) for a rootless podman.service file.
|
||||||
|
|
||||||
```toml
|
|
||||||
[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
|
### podman.socket
|
||||||
|
You can refer to [this example](https://github.com/containers/libpod/blob/master/contrib/systemd/user/podman.socket) for a rootless podman.socket file.
|
||||||
```toml
|
|
||||||
[Unit]
|
|
||||||
Description=Podman API Socket
|
|
||||||
Documentation=man:podman-api(1)
|
|
||||||
|
|
||||||
[Socket]
|
|
||||||
ListenStream=%t/podman/podman.sock
|
|
||||||
SocketMode=0660
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=sockets.target
|
|
||||||
```
|
|
||||||
|
@ -8,7 +8,7 @@ StartLimitIntervalSec=0
|
|||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
Environment=REGISTRIES_CONFIG_PATH=/etc/containers/registries.conf
|
Environment=REGISTRIES_CONFIG_PATH=/etc/containers/registries.conf
|
||||||
ExecStart=/usr/local/bin/service
|
ExecStart=/usr/bin/podman system service
|
||||||
TimeoutStopSec=30
|
TimeoutStopSec=30
|
||||||
KillMode=process
|
KillMode=process
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user