Containers and Kubernetes development with Podman Desktop
In the world of modern software development, containers and Kubernetes are no longer optional; they are essential. That’s where Podman Desktop comes in, your ultimate tool for building, managing, and deploying containers and Kubernetes clusters with ease and confidence. In this blogpost we will walk through a typical development workflow, creating and building a container and then testing it in a local Kubernetes cluster. Let’s dive in.
Building Containerized Applications with Podman Desktop
First, let's start by building an application in a container with Podman Desktop. We need our application code and a Containerfile. For a simple application, your Containerfile might look something like:
FROM docker.io/nginxinc/nginx-unprivileged
COPY <<EOF /usr/share/nginx/html/index.html
<!DOCTYPE html>
<html>
<head>
<title>Simple NGINX Container</title>
</head>
<body>
<h1>Hello from my Podman NGINX Container!</h1>
<p>This content is being served by NGINX running in a Podman container.</p>
</body>
</html>
EOF
To enhance security, we utilize the nginx-unprivileged image. This helps avoid root access, which is enforced by default in some Kubernetes distributions like OpenShift. The default NGINX image uses port 80, which is forbidden in rootless mode.
Once your application and Containerfile are ready, Podman Desktop makes the build process straightforward:

- Navigate to the "Images" section
- Select your Containerfile
- Provide a name for your image (e.g. webserver)
- Click "Build"
After building your image, you can immediately run it with a single click, and your container will appear in the "Containers" list.

- Find your container on the “Images” list
- Click the “Run Image ▶️” button
- Give your container a name we will call it: “webserver”
