From 33225cfdb5bc730f2dfae718fcf06081a5f66aba Mon Sep 17 00:00:00 2001 From: Christian Steinert Date: Mon, 10 Jun 2024 11:10:08 +0200 Subject: [PATCH 1/7] Guides: Containers: Podman: Migrate Quadlet from gemstones --- docs/guides/containers/podman_guide.md | 69 +++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 2 deletions(-) diff --git a/docs/guides/containers/podman_guide.md b/docs/guides/containers/podman_guide.md index b56e3eff9f..3f2a2c5676 100644 --- a/docs/guides/containers/podman_guide.md +++ b/docs/guides/containers/podman_guide.md @@ -1,7 +1,7 @@ --- title: Podman author: Neel Chauhan, Antoine Le Morvan -contributors: Steven Spencer, Ganna Zhyrnova +contributors: Steven Spencer, Ganna Zhyrnova, Christian Steinert date: 2024-03-07 tags: - docker @@ -111,7 +111,72 @@ Enter **ip_address:8080** in your web browser (assuming you opened the port in ` ## Running containers as `systemd` services -As mentioned, you can run Podman containers as `systemd` services. Let us now do it with Nextcloud. Run: +### Using `quadlet` + +Since 4.4 Podman ships with [Quadlet](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html) – a systemd generator. It can be used to generate unit files for rootless and rootful systemd services. + +Quadlet files for rootful services can be placed in + +- `/etc/containers/systemd/` +- `/usr/share/containers/systemd/` + +while rootless files can be placed in either of + +- `$XDG_CONFIG_HOME/containers/systemd/` or `~/.config/containers/systemd/` +- `/etc/containers/systemd/users/$(UID)` +- `/etc/containers/systemd/users/` + +While, aside from single containers, pod, image, network, volume and kube files are supported, let's focus on our Nextcloud example. Create a new file `~/.config/containers/systemd/nextcloud.cotainer` with the following content: + +```systemd +[Container] +Image=nextcloud +PublishPort=8080:80 +``` + +A [lot of other options](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html#container-units-container) are available. + +To run the generator and let systemd know that there is a new service run: + +```bash +systemctl --user daemon-reload +``` + +To now run your service run: + +```bash +systemctl --user start nextcloud.service +``` + +!!! note + + If you created a file in one of the directories for rootful services, omit the `--user` flag. + +To automatically run the container upon system start or user login, you can add another section to your `nextcloud.container` file: + +```systemd +[Install] +WantedBy=default.target +``` + +Then let the generator run again, and enable your service: + +```bash +systemctl --user daemon-reload; +systemctl --user enable nextcloud.service; +``` + +Other file types are supported: pod, volume, network, image and kube. [Pods](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html#pod-units-pod) for instance can be used to group containers – the generated systemd services and theirs dependencies (create the pod before the containers) are automatically managed by systemd. + +### Using `podman generate systemd` + +Podman additionally provides the `generate systemd` subcommand. It can be used to generate `systemd` service files. + +!!! warning + + `generate systemd` is now deprecated and will not receive further features. Usage of Quadlet is recommended. + +Let us now do it with Nextcloud. Run: ```bash podman ps From a9e3a1d58a066dd79969db57364aac772769cc8f Mon Sep 17 00:00:00 2001 From: Christian Steinert Date: Mon, 10 Jun 2024 13:21:09 +0200 Subject: [PATCH 2/7] Guides: Containers: Podman: Adjust admonitions. --- docs/guides/containers/podman_guide.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/guides/containers/podman_guide.md b/docs/guides/containers/podman_guide.md index 3f2a2c5676..05aa4483b8 100644 --- a/docs/guides/containers/podman_guide.md +++ b/docs/guides/containers/podman_guide.md @@ -10,7 +10,7 @@ tags: # Introduction -!!! note +!!! note "Note" This document represents expanded content from its [parent document found here](../../gemstones/containers/podman.md). If you need a quick how-to, that parent document may suffice. @@ -83,7 +83,7 @@ Here is a non-exhaustive list of the most commonly used subcommands: | `unpause` | Unpauses the processes in one or more containers | | `volume` | Manages volumes | -!!! note +!!! note "Note" Podman can run almost any Docker command thanks to its similar CLI interface. @@ -148,7 +148,7 @@ To now run your service run: systemctl --user start nextcloud.service ``` -!!! note +!!! note "Note" If you created a file in one of the directories for rootful services, omit the `--user` flag. @@ -172,7 +172,7 @@ Other file types are supported: pod, volume, network, image and kube. [Pods](htt Podman additionally provides the `generate systemd` subcommand. It can be used to generate `systemd` service files. -!!! warning +!!! warning "Warning" `generate systemd` is now deprecated and will not receive further features. Usage of Quadlet is recommended. From bb0b1c3ef4ff56a0b596c9a1d41d2d1d9bf7f935 Mon Sep 17 00:00:00 2001 From: Christian Steinert Date: Mon, 10 Jun 2024 21:17:01 +0200 Subject: [PATCH 3/7] Guides: Containers: Podman: Correction and Tip - Correct that `-d` is detach and not `-p` - Add a tip suggesting using `--rm` --- docs/guides/containers/podman_guide.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/guides/containers/podman_guide.md b/docs/guides/containers/podman_guide.md index 05aa4483b8..41a02e947d 100644 --- a/docs/guides/containers/podman_guide.md +++ b/docs/guides/containers/podman_guide.md @@ -304,7 +304,7 @@ CONTAINER ID IMAGE COMMAND CREATED STA 282c09eecf84 localhost/myrockywebserver:latest /sbin/init 16 seconds ago Up 16 seconds 0.0.0.0:8080->80/tcp rockywebserver ``` -You launched your Podman image in daemon mode (`-p`) and named it `rockywebserver` (option `--name`). +You launched your Podman image in daemon mode (`-d`) and named it `rockywebserver` (option `--name`). You redirected port 80 (protected) to port 8080 with the `-p` option. See if the port is listening with: @@ -326,6 +326,10 @@ Congratulations! You can now stop and destroy your running image, giving the nam podman stop rockywebserver && podman rm rockywebserver ``` +!!! tip "Tip" + + You can add the `--rm` switch to automatically delete the container once it stopps. + If you relaunch the build process, `podman` will use a cache at each step of the build: ```bash From 22eb1edcf2b97a488401e37d19b05a367ce9f3ee Mon Sep 17 00:00:00 2001 From: Christian Steinert Date: Mon, 10 Jun 2024 21:42:45 +0200 Subject: [PATCH 4/7] Guides: Containers: Podman: Use the term _Containerfile_ --- docs/guides/containers/podman_guide.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/guides/containers/podman_guide.md b/docs/guides/containers/podman_guide.md index 41a02e947d..cf77448c6c 100644 --- a/docs/guides/containers/podman_guide.md +++ b/docs/guides/containers/podman_guide.md @@ -103,7 +103,7 @@ podman run -d -p 8080:80 nextcloud You will receive a prompt to select the container registry to download from. In our example, you will use `docker.io/library/nextcloud:latest`. -Once you have downloaded the Nextcloud container, it will run. +Once you have downloaded the Nextcloud image, it will run. Enter **ip_address:8080** in your web browser (assuming you opened the port in `firewalld`) and set up Nextcloud: @@ -201,11 +201,11 @@ Replace `compassionate_meninsky` with your container's assigned name. When your system reboots, Nextcloud will restart in Podman. -## DockerFiles +## Containerfiles -A DockerFile is a file used by Docker to create custom container images. Since Podman is fully compatible with Dockerfile, you can build your container images with Podman like you would with Docker. +A Containerfile is a file used by Podman to create container images. Containerfiles use the same syntax as Dockerfiles, so you can build your container images with Podman like you would with Docker. -### Web server from a DockerFile +### Web server from a Containerfile You will create an `httpd` server based on a RockyLinux 9. @@ -221,7 +221,7 @@ Create an `index.html` file that will run in our web server: echo "Welcome to Rocky" > index.html ``` -Create a `Dockerfile` file with the following content: +Create a `Containerfile` file with the following content: ```text # Use the latest rockylinux image as a start From f29c7caff9c8f3645ee2bc7516c52ee820f5b342 Mon Sep 17 00:00:00 2001 From: Christian Steinert Date: Tue, 11 Jun 2024 20:16:57 +0200 Subject: [PATCH 5/7] Guides: Containers: Podman: Pods. --- .../img/podman_nextcloud_db_setup.png | Bin 0 -> 38139 bytes docs/guides/containers/podman_guide.md | 50 ++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 docs/guides/containers/img/podman_nextcloud_db_setup.png diff --git a/docs/guides/containers/img/podman_nextcloud_db_setup.png b/docs/guides/containers/img/podman_nextcloud_db_setup.png new file mode 100644 index 0000000000000000000000000000000000000000..56073c0f193498b173925bb6b5b011d0b393be8f GIT binary patch literal 38139 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 z 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 Date: Tue, 11 Jun 2024 20:19:48 +0200 Subject: [PATCH 6/7] Guides: Containers: Podman: Tip about logs. --- docs/guides/containers/podman_guide.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/guides/containers/podman_guide.md b/docs/guides/containers/podman_guide.md index 92bb12550c..ed151da81c 100644 --- a/docs/guides/containers/podman_guide.md +++ b/docs/guides/containers/podman_guide.md @@ -109,6 +109,10 @@ Enter **ip_address:8080** in your web browser (assuming you opened the port in ` ![Nextcloud in container](../../gemstones/images/podman_nextcloud.png) +!!! tip "Tip" + + To follow the log output of the last created container use `podman logs -lf`. `-l` specifies to use the last created container, while `-f` specifies to follow the logs, as they are created. Press Ctrl+C to stop the log output. + ## Running containers as `systemd` services ### Using `quadlet` From cb754044f7f5393d7d01697aaeffb6b06f185e1a Mon Sep 17 00:00:00 2001 From: sspencerwire Date: Tue, 11 Jun 2024 14:55:23 -0500 Subject: [PATCH 7/7] Update podman_guide.md --- docs/guides/containers/podman_guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/containers/podman_guide.md b/docs/guides/containers/podman_guide.md index ed151da81c..bdbfd3bb60 100644 --- a/docs/guides/containers/podman_guide.md +++ b/docs/guides/containers/podman_guide.md @@ -109,7 +109,7 @@ Enter **ip_address:8080** in your web browser (assuming you opened the port in ` ![Nextcloud in container](../../gemstones/images/podman_nextcloud.png) -!!! tip "Tip" +!!! tip To follow the log output of the last created container use `podman logs -lf`. `-l` specifies to use the last created container, while `-f` specifies to follow the logs, as they are created. Press Ctrl+C to stop the log output.