Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

generate systemd: add default.target to INSTALL #5427

Merged
merged 2 commits into from
Mar 9, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions docs/source/markdown/podman-generate-systemd.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ Create and print a systemd unit file for a container running nginx with an *alwa
$ podman create --name nginx nginx:latest
$ podman generate systemd --restart-policy=always -t 1 nginx
# container-de1e3223b1b888bc02d0962dd6cb5855eb00734061013ffdd3479d225abacdc6.service
# autogenerated by Podman 1.5.2
# Wed Aug 21 09:46:45 CEST 2019
# autogenerated by Podman 1.8.0
# Wed Mar 09 09:46:45 CEST 2020

[Unit]
Description=Podman container-de1e3223b1b888bc02d0962dd6cb5855eb00734061013ffdd3479d225abacdc6.service
Expand All @@ -58,7 +58,7 @@ Type=forking
PIDFile=/run/user/1000/overlay-containers/de1e3223b1b888bc02d0962dd6cb5855eb00734061013ffdd3479d225abacdc6/userdata/conmon.pid

[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target default.target
```

Create systemd unit files for a pod with two simple alpine containers. Note that these container services cannot be started or stopped individually via `systemctl`; they are managed by the pod service. You can still use `systemctl status` or journalctl to examine them.
Expand All @@ -72,8 +72,8 @@ $ podman generate systemd --files --name systemd-pod
/home/user/container-jolly_shtern.service
$ cat pod-systemd-pod.service
# pod-systemd-pod.service
# autogenerated by Podman 1.5.2
# Wed Aug 21 09:52:37 CEST 2019
# autogenerated by Podman 1.8.0
# Wed Mar 09 09:52:37 CEST 2020

[Unit]
Description=Podman pod-systemd-pod.service
Expand All @@ -90,7 +90,7 @@ Type=forking
PIDFile=/run/user/1000/overlay-containers/ccfd5c71a088768774ca7bd05888d55cc287698dde06f475c8b02f696a25adcd/userdata/conmon.pid

[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target default.target
```

## SEE ALSO
Expand Down
28 changes: 0 additions & 28 deletions docs/tutorials/rootless_tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,34 +110,6 @@ The Podman configuration files for root reside in `/usr/share/containers` with o

The default authorization file used by the `podman login` and `podman logout` commands reside in `${XDG_RUNTIME_DIR}/containers/auth.json`.

## Systemd unit for rootless container

```
[Unit]
Description=nginx
[email protected]
[email protected]
[Service]
Type=simple
KillMode=none
MemoryMax=200M
ExecStartPre=-/usr/bin/podman rm -f nginx
ExecStartPre=/usr/bin/podman pull nginx
ExecStart=/usr/bin/podman run --name=nginx -p 8080:80 -v /home/nginx/html:/usr/share/nginx/html:Z nginx
ExecStop=/usr/bin/podman stop nginx
Restart=always
User=nginx
Group=nginx
[Install]
WantedBy=multi-user.target
```

This example unit will launch a nginx container using the existing user nginx with id 1001, serving static content from /home/nginx/html and limited to 200MB of RAM.

You can use all the usual systemd flags to control the process, including capabilities and cgroup directives to limit memory or CPU.

See #3866 for more details.

## More information

If you are still experiencing problems running Podman in a rootless environment, please refer to the [Shortcomings of Rootless Podman](https://github.com/containers/libpod/blob/master/rootless.md) page which lists known issues and solutions to known issues in this environment.
Expand Down
2 changes: 1 addition & 1 deletion pkg/systemd/generate/systemdgen.go
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ KillMode=none
Type=forking

[Install]
WantedBy=multi-user.target`
WantedBy=multi-user.target default.target`

// Options include different options to control the unit file generation.
type Options struct {
Expand Down
10 changes: 5 additions & 5 deletions pkg/systemd/generate/systemdgen_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ KillMode=none
Type=forking

[Install]
WantedBy=multi-user.target`
WantedBy=multi-user.target default.target`

goodName := `# container-foobar.service
# autogenerated by Podman CI
Expand All @@ -72,7 +72,7 @@ KillMode=none
Type=forking

[Install]
WantedBy=multi-user.target`
WantedBy=multi-user.target default.target`

goodNameBoundTo := `# container-foobar.service
# autogenerated by Podman CI
Expand All @@ -96,7 +96,7 @@ KillMode=none
Type=forking

[Install]
WantedBy=multi-user.target`
WantedBy=multi-user.target default.target`

podGoodName := `# pod-123abc.service
# autogenerated by Podman CI
Expand All @@ -118,7 +118,7 @@ KillMode=none
Type=forking

[Install]
WantedBy=multi-user.target`
WantedBy=multi-user.target default.target`

goodNameNew := `# jadda-jadda.service
# autogenerated by Podman CI
Expand All @@ -140,7 +140,7 @@ KillMode=none
Type=forking

[Install]
WantedBy=multi-user.target`
WantedBy=multi-user.target default.target`

tests := []struct {
name string
Expand Down