This is an old revision of the document!
Podman/Docker
Podman (short for pod manager) is an open source tool for developing, managing, and running containers. It was developed by Red Hat engineers along with the open source community. Docker is also an open platform for developing, shipping, and running applications.
EECS Linux systems run a Red Hat Enterprise Linux compatible operating system. Podman is installed by default. As a result, Podman is the only supported container environment on EECS tech supported systems.
Fortunately, both Podman and Docker support the same image format, so you can generally use Docker images with Podman and vice versa. Images built with Docker-specific features might require minor adjustments to work with Podman.
In order to use Podman on a tech-supported EECS Linux system, you must be a member of a research group that has its own servers with local storage. When
In order to use Podman:
1) Request permission to use Podman by sending an email to tech. Please include your research group, and the server name where you would like to use containers. Tech will allocate a uniqe uid/gid range for your container.
2) By default, Podman will use the following path for container storage: $HOME/.local/share/containers/storage. This is your EECS home directory, and is a network share. This is not a supported storage for Podman. In order to use Podman, you must configure Podman to use local storage on your server (eg. /local/home/<user>). Here's how you will configure that:
a) Create a local directory for Podman storage:
% mkdir /local/home/<user>/container-storage
b) Get rid of any old Podman configuration in your acocunt:
% rm -rf ~/.local/share/containers/storage % rm -f ~/.config/containers
c) Copy the default Podman storage configuration file:
% mkdir $HOME/.config/containers % cp /etc/containers/storage.conf $HOME/.config/containers/storage.conf
d) Update $HOME/.config/containers/storage.conf.
Replace:
runroot = "/run/containers/storage"
with:
runroot = "/local/home/jas/containers/storage/runroot"
Also replace:
graphroot = "/var/lib/containers/storage"
with:
graphroot = "/local/home/<user>/containers/storage"
3) Now you can test container storage:
% podman run hello-world
You should see something like:
Resolved "hello-world" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf) Trying to pull quay.io/podman/hello:latest... Getting image source signatures Copying blob 81df7ff16254 done | Copying config 5dd467fce5 done | Writing manifest to image destination !... Hello Podman World ...! .--"--. / - - \ / (O) (O) \ ~~~| -=(,Y,)=- | .---. /` \ |~~ ~/ o o \~~~~.----. ~~ | =(X)= |~ / (O (O) \ ~~~~~~~ ~| =(Y_)=- | ~~~~ ~~~| U |~~ Project: https://github.com/containers/podman Website: https://podman.io Desktop: https://podman-desktop.io Documents: https://docs.podman.io YouTube: https://youtube.com/@Podman X/Twitter: @Podman_io Mastodon: @Podman_io@fosstodon.org
For more information on Podman: