Rullst AcademyRullst Academy/Lesson
From application to release with Rullst · Lesson 05 / 12

Replace the box, preserve the contents

An image delivers the program. A volume holds state that must outlive an instance.

Learning paths40 min

Let's discover together

  1. 1

    Optional extension: execute only if Podman is already prepared in your own lab. Windows/macOS use a Podman Linux machine; Ubuntu can use rootless directly. Check podman version and follow the official guide. Without that environment, analyze the files and record “not executed”.

  2. 2

    Read Containerfile and .containerignore. The build copies only required files, not your database or .env. The build stage compiles; the final stage runs as an unprivileged user. Base image tags can change: record the actual image IDs.

  3. 3

    Stop the kit using 3010. Check that no mission-lab container or mission-lab-data volume holds another exercise’s data. If one exists, use another environment or adapt every name; do not delete unknown resources. Build the image and create the volume below.

  4. 4

    Run the container, open the board and create “Store fictional part”. Stop and remove only your own mission-lab container; repeat podman run with the same volume. Verify the preserved mission. Do not use --volumes or global cleanup.

  5. 5

    Record image, Podman version, mission before/after and commands. Volume persistence is not yet backup: losing the disk may lose both. If you did not execute, describe your prediction separately.

From reasoning to execution

The core path runs on your computer with fictional data. Podman, Quadlet and Caddy are optional extensions; no domain purchase or cloud subscription is needed. This lab is not ready for public writes.

Read the steps before running anything. The commands below are a reference; README.md explains your OS syntax and LAB.md contains the sequence. The site does not run these commands for you.

podman build -t localhost/mission-lab:v1 -f Containerfile .
podman volume create mission-lab-data
podman run -d --name mission-lab -p 127.0.0.1:3010:3010 --memory=256m --cpus=0.5 --cap-drop=all --security-opt=no-new-privileges -v mission-lab-data:/data localhost/mission-lab:v1
podman stop mission-lab
podman rm mission-lab
My evidence record

Draw which files go into the image and which remain in the volume. If executed, show the preserved mission. Otherwise record the missing prerequisite without claiming deployment completion.

Separate prediction, execution and observed result. Record “not executed” when the environment is missing. Site progress does not validate real deployment or grant professional certification.

My files and GitHub

Official links and next step

✦
YOUR MISSION

Prepare a local container and distinguish recreating a process from removing its data.

Now it's your turn

Discovery workshop

Decide using evidence

The image was rebuilt, the container recreated and the same volume reused.
Build your answers and check when you are ready.
A moment to understand

After recreating the container, what preserves missions?

I need a hint

Image and volume have different roles. A persistence test must observe an actual record after recreating the instance.

Loading your journey…

Take it with you

Draw which files go into the image and which remain in the volume. If executed, show the preserved mission. Otherwise record the missing prerequisite without claiming deployment completion.

At your own pace

My files and GitHub

Every lesson can become your own record: code, notes or a practice plan. Saving a file to GitHub is optional and does not change your XP.

Student guide

The editor and downloads open when this lesson is available to your account. Check access below or return to the track map.

Checking your access to this lesson…

Rullstpetbot

AI can make mistakes. Check the lesson material.