How kubedock works
Kubedock is a minimal container engine implementation that gives you a Podman-/docker-like experience inside an OpenShift Dev Spaces workspace.
Kubedock is especially useful when dealing with ad-hoc, ephemeral, and testing containers, such as in the use cases listed below:
- Executing application tests which rely on the Testcontainers framework.
- Using Quarkus Dev Services.
- Running a container stored in remote container registry, for local development purposes
For more information about these frameworks, see Additional resources.
The image you want to use with kubedock must be compliant with OpenShift Container Platform image creation guidelines. Otherwise, running the image with kubedock results in a failure even if the same image runs locally without issues.
Supported commands
After enabling the kubedock environment variable, kubedock runs the following podman commands:
-
podman run -
podman ps -
podman exec -
podman cp -
podman logs -
podman inspect -
podman kill -
podman rm -
podman wait -
podman stop -
podman start
Other commands such as podman build are started by the local Podman.
Using podman commands with kubedock has the following limitations:
- The
podman build -t <image> . && podman run <image>command fails. Usepodman build -t <image> . && podman push <image> && podman run <image>instead. - The
podman generate kubecommand is not supported. --envoption causes thepodman runcommand to fail.
To enable and use kubedock in your workspace, see Additional resources.