User Tools

Site Tools


services:podman

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. 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 directory within your EECS home directory for container storage: $HOME/.local/share/containers/storage. However, your home directory is a network share, and that is not supported for Podman sotrage. 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:

services/podman.1734635628.txt.gz · Last modified: 2024/12/19 14:13 by jas

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki