podman/contrib/podmanimage
Daniel J Walsh efbad590d7
Run codespell on code
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-11-04 10:57:41 -04:00
..
stable Podman image: Set default_sysctls to empty for rootless containers 2022-10-18 09:27:20 +02:00
testing [CI:DOCS] Update podmanimage comment. 2022-06-29 11:35:56 -04:00
upstream [CI:DOCS] Update podmanimage comment. 2022-06-29 11:35:56 -04:00
README.md Run codespell on code 2022-11-04 10:57:41 -04:00

PODMAN logo

podmanimage

Overview

This directory contains the Containerfiles necessary to create the podmanimage container images that are housed on quay.io under the Podman account. All repositories where the images live are public and can be pulled without credentials. These container images are secured and the resulting containers can run safely with privileges within the container.

The container images are built using the latest Fedora and then Podman is installed into them. The PATH in the container images is set to the default PATH provided by Fedora. Also, the ENTRYPOINT and the WORKDIR variables are not set within these container images, as such they default to /.

The container images are:

  • quay.io/containers/podman:<version> and quay.io/podman/stable:<version> - These images are built daily. They are intended to contain an unchanging and stable version of podman. For the most recent <version> tags (vX, vX.Y, and vX.Y.Z) the image contents will be updated daily to incorporate (especially) security upgrades. For build details, please see the configuration file.
  • quay.io/containers/podman:latest and quay.io/podman/stable:latest - Built daily using the same Containerfile as above. The Podman version will remain the "latest" available in Fedora, however the other image contents may vary compared to the version-tagged images.
  • quay.io/podman/testing:latest - This image is built daily, using the latest version of Podman that was in the Fedora updates-testing repository. The image is Built with the testing Containerfile.
  • quay.io/podman/upstream:latest - This image is built daily using the latest code found in this GitHub repository. Due to the image changing frequently, it's not guaranteed to be stable or even executable. The image is built with the upstream Containerfile. Note the actual compilation of upstream podman occurs continuously in COPR.

Sample Usage

podman pull docker://quay.io/podman/stable:latest

podman run --privileged stable podman version

# Create a directory on the host to mount the container's
# /var/lib/container directory to so containers can be
# run within the container.
mkdir /var/lib/mycontainer

# Run the image detached using the host's network in a container name
# podmanctr, turn off label and seccomp confinement in the container
# and then do a little shell hackery to keep the container up and running.
podman run --detach --name=podmanctr --net=host --security-opt label=disable --security-opt seccomp=unconfined --device /dev/fuse:rw -v /var/lib/mycontainer:/var/lib/containers:Z --privileged  stable sh -c 'while true ;do sleep 100000 ; done'

podman exec -it  podmanctr /bin/sh

# Now inside of the container

podman pull alpine

podman images

exit

Note: If you encounter a fuse: device not found error when running the container image, it is likely that the fuse kernel module has not been loaded on your host system. Use the command modprobe fuse to load the module and then run the container image. To enable this automatically at boot time, you can add a configuration file to /etc/modules.load.d. See man modules-load.d for more details.

Blog Post with Details

Dan Walsh wrote a blog post on the Enable Sysadmin site titled How to use Podman inside of a container. In it, he details how to use these images as a rootful and as a rootless user. Please refer to this blog for more detailed information.