Introducción
Podman es una utilidad Linux de código abierto para crear, administrar y ejecutar contenedores e imágenes. La herramienta es similar a Docker, lo que permite a los usuarios ejecutar contenedores independientes (no orquestados), pero no requiere un demonio.
Podman fue desarrollado por RedHat, pero también es compatible con otras distribuciones de Linux.
En este tutorial, aprenderá a instalar y usar Podman en Ubuntu.
Requisitos previos
- Un sistema que ejecuta Ubuntu (usuarios de macOS, consulte cómo instalar Podman en macOS).
- Acceso a la terminal (Ctrl +
Alternativo + T ). - Una cuenta de usuario con privilegios de administrador.
Instalación de Podman en Ubuntu
El paquete Podman está disponible en los repositorios oficiales de Ubuntu 20.10 y posteriores. Las versiones anteriores de Ubuntu requieren agregar el repositorio Kubic antes de la instalación.
Siga los pasos a continuación para instalar Podman:
Instalar Podman en Ubuntu 20.10 o posterior
1. Abra la terminal (Ctrl +
sudo apt update
2. Instale Podman con el siguiente comando:
sudo apt -y install podman
El -y
flag responde automáticamente yes
a cualquier indicación durante la instalación.
Instalar Podman en Ubuntu 20.04 o anterior
Para versiones anteriores de Ubuntu (versiones anteriores a la 20.10), agregue el repositorio del proyecto Kubic antes de instalar Podman.
Siga los pasos a continuación:
1. Obtenga el os-release archivo para asegurarse de que se agrega el repositorio correcto:
. /etc/os-release
2. Ejecute el siguiente comando para agregar el repositorio de Kubic:
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
El >
El símbolo redirige la salida al archivo especificado, agregando el repositorio al archivo del sistema. Alternativamente, canalice la salida al comando tee para escribir en el archivo especificado.
2. Verifique la integridad del paquete agregando una clave GPG:
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/xUbuntu_${VERSION_ID}/Release.key -O- | sudo apt-key add -
2. Actualice el repositorio de paquetes con información del repositorio recién agregado:
sudo apt update
3. Instalar Podman:
sudo apt -y install podman
4. Verifique la instalación comprobando la versión del programa:
podman --version
Importante: Ubuntu 22.04 LTS ya no admite paquetes Kubic. Antes de actualizar a Ubuntu 22.04, desinstale los paquetes de los repositorios de Kubic.
Uso de Podman en Ubuntu
Use Podman para buscar y extraer imágenes de repositorios como docker.io y quay.io y ejecutar contenedores. Esta sección muestra diferentes ejemplos del uso de Podman en Ubuntu.
Buscar imágenes
Busque imágenes en los repositorios disponibles usando la siguiente sintaxis:
podman search [keyword]
Por ejemplo, para buscar mysql imágenes, ejecute:
podman search mysql
Descargar imágenes
Descargue una imagen usando la siguiente sintaxis:
podman pull [image]
Por ejemplo, el siguiente comando extrae el mysql imagen del repositorio:
podman pull mysql
Si la imagen está disponible en varios repositorios, Podman le solicita que seleccione la imagen que desea descargar.
Lista de imágenes descargadas
Enumere todas las imágenes descargadas ejecutando el siguiente comando:
podman images
La salida enumera todas las imágenes actualmente en el sistema y los detalles de la imagen, incluidos:
repository
. El repositorio de origen.tag
. Cualquier etiqueta asociada con la imagen.image ID
. Un número único para cada imagen.created
. La fecha de creación de la imagen.size
. Tamaño de imagen en disco.
Crear contenedores
Utilice la siguiente sintaxis para crear un nuevo contenedor a partir de la imagen descargada:
podman run [options] [image]
Por ejemplo, para crear un contenedor a partir del mysql descargado imagen, ejecute el siguiente comando:
podman run -dit mysql
- El
-d
La opción fuerza el modo desconectado, ejecutando el contenedor en segundo plano y el único resultado es el nuevocontainer ID
. - Use
-i
opción para forzar el modo interactivo, manteniendo la entrada estándar abierta incluso en el modo separado. - El
-t
hace que Podman asigne un pseudo-TTY y lo adjunte alstdin
del contenedor. . Esta opción evita questdout
redirección.
La creación del contenedor genera el container ID
(forma larga).
Lista de contenedores disponibles
Verifique todos los contenedores en su máquina ejecutando:
podman ps -a
El -a
flag indica a Podman que muestre todos los contenedores, independientemente de su estado (en ejecución o detenido). Introduce el comando sin -a
marca para mostrar solo los contenedores en ejecución.
La salida incluye la siguiente información:
container ID
. El número único de cada contenedor (forma abreviada).image
. La imagen en la que se basa el contenedor.command
. El comando para lanzar el contenedor.created
. El tiempo transcurrido desde que se creó el contenedor.status
. Tiempo de actividad o inactividad del contenedor.ports
. Incluye todos los puertos reenviados.names
. Un nombre único asignado por Podman para cada contenedor.
Para mostrar un solo contenedor, especifique el container ID
.
Crear imagen desde contenedor
Cree una nueva imagen desde mysql
en ejecución contenedor y cárguelo en el repositorio usando este comando:
podman commit --author "phoenixNAP" 6f3aeb480f89
El --author
flag establece el autor de la imagen, seguido del container ID
.
En este ejemplo, Podman omite confirmar esta imagen ya que no se han realizado cambios en la imagen original.
Detener o iniciar un contenedor
Para detener un contenedor en ejecución, use la siguiente sintaxis:
podman stop [container-id]
Inicie un contenedor usando:
podman start [container ID]
Obtenga el container ID
enumerando los contenedores disponibles.
Por ejemplo:
Alternativamente, detenga o inicie el contenedor más reciente especificando el --latest
bandera en lugar del container ID
. Por ejemplo:
Eliminar un contenedor
Elimina un contenedor existente con la siguiente sintaxis:
podman rm [container id]
Por ejemplo:
Enumere todos los contenedores disponibles para obtener el container ID
y luego retire el recipiente. Volver a ejecutar podman ps -a
para listar todos los contenedores muestra que el contenedor especificado fue eliminado.