Getting Started with Podman Manage Images, Containers and Volumes

preview_player
Показать описание
Podman is a container runtime that provides features similar to Docker. It's part of the libpod library and can be used to manage pods, containers, container images, and container volumes. Podman was very different from Docker which uses the client-server architecture and required a docker daemon in order to run, while Podman doesn't require any daemon to run and also can be run flawlessly without root privileges.

In this tutorial, we will show you the basic usage of Podman for managing containers, images, and volumes, and creating container images. In order to complete this guide, you must have podman installed

Useful Links:

Commands Used:
podman version
podman info
podman --help
podman pod --help
podman search nginx
podman images
podman rmi alpine
podman ps
podman ps -a
podman top hakase-nginx
podman exec -it hakase-nginx /bin/bash
nginx -V
podman stop hakase-nginx
podman rm hakase-nginx
podman rm hakase-nginx -f
podman volume create hakase-volume
podman volume ls
podman volume inspect hakase-volume
cd /var/lib/containers/storage/hakase-volume/_data
podman inspect -f '{{ json .Mounts }}' hakase-nginx | jq
podman inspect -f '{{ .NetworkSettings.IPAddress }}' hakase-nginx
podman volume rm hakase-volume
podman run --name container-temp ubuntu bash -c "apt update && apt install -y nginx"
podman commit container-temp my-nginx
podman images
podman run -dt -p 8001:80 --name nginx01 my-nginx /usr/sbin/nginx -g 'daemon off;'
podman ps
podman inspect --format '{{ .NetworkSettings.IPAddress }}' nginx01
mkdir project; cd project/
vim Dockerfile

FROM ubuntu

# Install Nginx
RUN \
apt-get update && \
apt-get install -y nginx && \
rm -rf /var/lib/apt/lists/* && \
chown -R www-data:www-data /var/lib/nginx

# Define mountable directories.
VOLUME ["/etc/nginx/sites-enabled", "/etc/nginx/certs", "/etc/nginx/conf.d", "/var/log/nginx", "/var/www/html"]

# Define the working directory.
WORKDIR /etc/nginx

# Define default command.
CMD ["nginx"]

# Expose ports.
EXPOSE 80
EXPOSE 443

podman build -t hakase-image .
podman images
podman run -d -p 8002:80 --name nginx02 hakase-image
podman ps
podman inspect --format '{{ .NetworkSettings.IPAddress }}' nginx02
Рекомендации по теме