Podman CLI Guide
This guide should assist when using Podman at the command line
the following is needed for rootless container access
NOTE: More info here
sudo touch /etc/subuid /etc/subgid
sudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 thom
podman system migrate
install various useful base images
# set up images for dev env
podman pull docker.io/library/httpd
podman pull docker.io/amazon/aws-cli
podman pull docker.io/amazon/dynamodb-local
podman pull docker.io/python
podman pull docker.io/alpine
podman pull docker.io/ruby
podman pull docker.io/openjdk
podman pull docker.io/ubuntu:20.04
podman pull docker.io/ubuntu:18.04
podman pull docker.io/debian
podman pull docker.io/busybox
podman pull docker.io/redis
podman pull docker.io/node
podman pull docker.io/postgres
podman pull docker.io/hello-world
podman pull docker.io/mongo
podman pull docker.io/httpd
podman pull docker.io/nginx
show installed images
podman images
create various containers
podman run --name puw-html-host -v $(pwd):/usr/share/nginx/html:ro -p 8080:80 -d nginx
podman run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -p 8080:80 -d nginx
podman run -dt -p 8080:80/tcp httpd
podman run -p 8000:8000 amazon/dynamodb-local
podman run --rm -it amazon/aws-cli --version
create workspace volume for persistent data
podman volume create workspace-vol
podman volume inspect workspace-vol
podman volume ls
backup volume
podman run --rm -v workspace-vol:/mnt/volume -v <host_backup_dir>:/backup alpine tar czf /backup/workspace-vol.tar.gz /mnt/volume
restore volume
podman run --rm -v workspace-vol:/volume -v <host_backup_dir>:/backup alpine tar -C /volume/ -xzf /backup/workspace-vol.tar.gz
run temp ubuntu machine to test stuff
podman run -it docker.io/library/ubuntu:18.04 /bin/bash
build workspace image
podman build -f Containerfile -t work-space .
create workspace container (can likely remove -it flag)
podman run -it work-space /bin/bash
create workspace container with graphical support
podman run -it --net=host --env="DISPLAY" --volume="$HOME/.Xauthority:/root/.Xauthority:rw" work-space /bin/bash
create workspace container with graphical support and volume mount
podman run -it --net=host --env="DISPLAY" --volume="$HOME/.Xauthority:/root/.Xauthority:rw" -v workspace-vol:/mnt/external work-space /bin/bash
create workspace container with graphical support, volume mount, and ssh credentials from host
podman run -it --net=host --env="DISPLAY" --volume="$HOME/.Xauthority:/root/.Xauthority:rw" -v workspace-vol:/mnt/external -v ~/.ssh:/root/.ssh:ro --name <container_name> work-space /bin/bash
create workspace container with graphical support, volume mount, ssh credentials from host, and audio support
podman run -it --net=host --env="DISPLAY" --volume="$HOME/.Xauthority:/root/.Xauthority:rw" -v workspace-vol:/mnt/external -v ~/.ssh:/root/.ssh:ro --name <container_name> --device /dev/snd work-space /bin/bash
start workspace container
podman container ls
podman container start <container_name>
podman container exec -it <container_name> bash
attach to workspace container
podman container ls
podman attach <container_name>
stop workspace container
podman container ls
podman container stop <container_name>
check podman disk usage
podman system df