GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer et utiliser Podman (Docker Alternative) sur Ubuntu 20.04

Podman est un outil open source permettant de gérer des conteneurs, des images, des volumes et des pods (groupe de conteneurs). Il utilise les API de la bibliothèque libpod pour gérer les cycles de vie des conteneurs et prend en charge plusieurs formats d'image de conteneur, y compris les images OCI (Open Container Initiative) et Docker.

Podman est un moteur de conteneur de conformité OCI (Open Container Initiative). Il est compatible avec l'interface Docker CLI et vous permet d'exécuter le conteneur sans racine (conteneur en cours d'exécution sans privilèges root). Podman a été publié dans le cadre de Red Hat Enterprise Linux, conçu pour être la prochaine génération d'outil de conteneur Linux avec une expérimentation et un développement de fonctionnalités plus rapides.

Pour ce didacticiel, vous apprendrez à installer Podman sur le système Ubuntu 20.04. Vous installerez Podman et apprendrez les utilisations de base de podman pour gérer les conteneurs, les images et les volumes Docker.

Prérequis

  • Un serveur Ubuntu 20.04 - assurez-vous que tous les packages sont à la dernière version, pour vous débarrasser des dépendances obsolètes et vous conduire à une erreur lors de l'installation.
  • Un utilisateur avec des privilèges root , ou utilisateur racine - pour installer de nouveaux packages et modifier la configuration à l'échelle du système.

Installer Podman sur Ubuntu 20.04

Dans un premier temps, vous ajouterez un référentiel tiers et une clé pour installer podman sur le système Ubuntu 20.04.

1. Exécutez la commande suivante pour exporter les variables d'environnement sur '/etc/os-release ' fichier.

. /etc/os-release

2. Ajoutez le référentiel podman avec une version stable et ajoutez la clé GPG à votre système à l'aide de la commande ci-dessous.

echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /" | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list

curl -L "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/Release.key" | sudo apt-key add -

3. Mettez à jour/actualisez les référentiels Ubuntu et mettez à niveau tous les packages vers la dernière version.

sudo apt update
sudo apt -y upgrade

4. Après cela, installez podman à l'aide de la commande apt ci-dessous.

sudo apt install podman

Tapez 'y ' et appuyez sur 'Entrée ' pour continuer l'installation.

5. Une fois l'installation terminée, vérifiez la version de podman à l'aide de la commande suivante.

podman version

Vous trouverez ci-dessous le résultat similaire que vous obtiendrez.

Comme on peut le voir, vous avez installé podman v3.3.1 compilé avec Go 1.16 pour l'architecture Linux amd64 (64 bits).

Création d'un nouvel utilisateur et exécution du conteneur hello-world

Podman vous permet d'exécuter des conteneurs sous l'utilisateur sans privilèges root. Pour cette étape, vous allez ajouter un nouvel utilisateur et exécuter le conteneur "hello-world" basé sur l'image Docker.

1. Exécutez la commande suivante pour ajouter un nouvel utilisateur 'johndoe'.

useradd -m -s /bin/bash johndoe
passwd johndoe

Tapez le nouveau mot de passe pour l'utilisateur 'johndoe '.

2. Ensuite, connectez-vous en tant qu'utilisateur "johndoe" et exécutez le conteneur basé sur l'image Docker "hello-world".

Connectez-vous en tant qu'utilisateur 'johndoe '.

su - johndoe

Exécutez un nouveau conteneur basé sur l'image Docker 'hello-world ' en utilisant la commande podman.

podman run hello-world

Il vous sera demandé quel registre de conteneurs vous souhaitez utiliser, choisissez le registre de conteneurs "docker.io" et vous verrez une sortie similaire à celle ci-dessous.

3. Pour vérifier votre conteneur et vos images sur la machine locale, exécutez la commande ci-dessous.

podman ps -a
podman images

Vous verrez qu'un nouveau conteneur est créé et le statut actuel est 'Exited '. Le conteneur est basé sur le 'hello-world ' Image Docker.

Utilisation de base de Podman

Avec ce guide, vous apprendrez à utiliser podman pour gérer les conteneurs, les images et les volumes. Vous apprendrez la commande de base de podman pour gérer le conteneur, et les commandes que vous utiliserez pour ce guide sont 100 % identiques à la commande Docker CLI.

1. Pour trouver des images de conteneurs compatibles avec le podman, exécutez la commande podman ci-dessous.

podman search nginx

Et vous verrez une liste d'images de conteneurs à partir du Docker par défaut registre d'images et Quay registre d'images.

Choisissez les images de conteneur "nginx" dans le registre Docker et téléchargez-les sur votre ordinateur local à l'aide de la commande podman ci-dessous.

podman pull nginx:alpine

Choisissez le registre de conteneurs 'docker.io ' et le processus de téléchargement de l'image du conteneur Nginx commencera.

2. Pour vérifier les images de conteneur disponibles sur votre ordinateur local, exécutez la commande podman ci-dessous.

podman images

Et vous verrez deux images - hello-world et nginx images.

3. Ensuite, pour démarrer et exécuter un nouveau conteneur basé sur l'image 'nginx:alpine ', exécutez la commande podman avec l'option 'run ' comme ci-dessous.

podman run -it --rm -d -p 8080:80 --name web nginx:alpine

Certaines options que vous devez connaître :

  • -i ou --interactif - garder le conteneur STDIN ouvert même s'il n'est pas attaché.
  • -t ou --tty - alloue un pseudo-terminal qui connecte votre terminal aux STDIN et STDOUT du conteneur.
  • --rm - supprimer automatiquement le conteneur lorsque le conteneur est quitté ou arrêté.
  • -d - exécuter le conteneur en arrière-plan, détacher le conteneur après son exécution.
  • -p 8080:80 - mapper le port entre le conteneur et le système hôte. Le port '80' sur le conteneur est mappé sur le port '8080' du système hôte.
  • --nom du site Web - spécifiez le nom du nouveau conteneur en tant que 'web'.
  • nginx :alpine - l'image que nous utilisons est 'nginx:alpine'.

Vous verrez la chaîne aléatoire et le numéro de votre conteneur en cours d'exécution. Vérifiez votre conteneur en cours d'exécution à l'aide de la commande podman ci-dessous.

podman ps

Vous verrez la sortie comme ci-dessous.

L'état du conteneur est 'Up ' et expose le port port TCP '8080 ' sur la machine hôte.

Ouvrez votre navigateur Web et visitez l'adresse IP de votre serveur avec le port '8080 ' comme ci-dessous.

http://192.168.1.15:8080/

Et vous verrez l'âge par défaut 'index.html' de votre conteneur nginx.

4. De plus, vous pouvez vérifier les journaux de votre conteneur à l'aide des 'journaux ' comme ci-dessous.

podman logs web

Ou vous pouvez spécifier les dernières lignes numériques du journal du conteneur avec le '--tail ' comme ci-dessous.

podman logs --tail 10 web

5. Vous pouvez maintenant arrêter le conteneur en cours d'exécution à l'aide de l'option podman 'stop ' comme ci-dessous.

podman stop web

Votre conteneur 'web' sera stoppé. Vérifiez à l'aide de la commande ci-dessous.

podman ps
podman ps -a

Et vous verrez une sortie similaire à celle ci-dessous.

Le conteneur 'web' est arrêté et automatiquement supprimé car vous utilisez l'option '--rm' sur votre commande podman.

6. Ensuite, vous apprendrez à utiliser le volume personnalisé pour modifier le "index.html" par défaut sur le nouveau conteneur.

Créez un nouveau répertoire '~/data ' et le 'index.html ' à l'aide de la commande suivante.

mkdir -p ~/data/
nano ~/data/index.html

Copiez et collez le script HTML ci-dessous.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Welcome to Container Nginx</title>
</head>
<body>
  <h2>Hello from Nginx container - Managed with Podman</h2>
</body>
</html>

Appuyez sur 'Ctrl+x ', tapez 'y ', puis appuyez sur 'Entrée ' pour enregistrer la configuration et quitter.

Exécutez maintenant la commande podman suivante pour exécuter le nouveau conteneur avec un volume personnalisé.

podman run -it --rm -d -p 8080:80 --name web -v ~/data:/usr/share/nginx/html nginx:alpine

Une option que vous devez connaître :

  • -v - précisez le volume de votre conteneur. Le '~/données ' sera monté dans le nouveau répertoire de conteneur '/usr/share/nginx/html '.

Exécutez maintenant la commande suivante pour vérifier le conteneur en cours d'exécution.

podman ps

Vous verrez le nouveau conteneur 'web ' dans le statut 'Haut '.

Ensuite, ouvrez votre navigateur Web et tapez l'adresse IP de votre serveur avec le port '8080 '.

http://192.168.1.15:8080/

Et vous verrez la page index.html personnalisée que vous avez créée en haut, ce qui signifie le '~/data ' est monté sur le 'web ' conteneur.

7. Ensuite, vous pouvez vous connecter au conteneur en cours d'exécution avec l'option 'exec ' et en exécutant le shell 'sh'.

Assurez-vous que votre conteneur "web ' est en cours d'exécution à l'aide de la commande suivante.

podman ps

Exécutez maintenant la commande podman ci-dessous pour vous connecter au conteneur 'web'.

podman exec -it web /bin/sh

Vérifiez le nom d'hôte du conteneur 'web'.

hostname

Vérifiez l'adresse IP et la table de routage du conteneur 'web'.

ip a
route -n

Tapez maintenant 'quitter ' pour vous déconnecter du conteneur 'web '.

8. Nettoyez maintenant votre environnement à l'aide de la commande suivante.

Arrêtez le conteneur 'web ' à l'aide de la commande podman ci-dessous.

podman stop web

Supprimez tous les conteneurs avec le statut "Exited" à l'aide de la commande podman ci-dessous.

podman rm $(podman ps --filter "status=exited" -q)

Conclusion

Félicitations ! Vous avez installé avec succès Podman sur le système Ubuntu 20.04. En outre, vous avez appris l'utilisation de base de podman pour télécharger des images de conteneur, exécuter le conteneur, vérifier l'état du conteneur, les journaux et l'utilisation de base de podman pour gérer le volume. Pour l'étape suivante, vous pouvez essayer de créer vos images personnalisées avec les spécifications OCI pour votre application push/téléchargement vers le registre de conteneurs.


Ubuntu
  1. Comment installer et utiliser Docker sur Ubuntu 20.04

  2. Comment installer et utiliser Wine sur Ubuntu 20.04

  3. Comment installer et utiliser Docker sur Ubuntu 18.04

  4. Comment installer et utiliser Docker Compose sur Ubuntu 18.04

  5. Comment installer et utiliser Docker dans Ubuntu 20.04

Comment installer et utiliser R sur Ubuntu

Comment installer et utiliser Docker Compose sur Ubuntu 20.04

Comment installer et utiliser Docker Compose sur Ubuntu 22.04

Comment installer et utiliser Docker sur Ubuntu 22.04

Comment installer et utiliser Docker sur Ubuntu 20.04

Comment installer et utiliser Podman (alternative à Docker)