


Comment construire des images Docker légères avec mmdebstrap dans Linux
Mar 06, 2025 am 11:12 AM
Création d'images Docker légères en utilisant mmdebstrap
offre une approche rationalisée pour construire des environnements d'application efficaces et minimaux. Ce tutoriel détaille comment tirer parti de la puissance de Debian tout en maintenant les tailles d'image compactes et gérables.
Cette technique s'avère inestimable pour optimiser les images Docker, en particulier pour les microservices, les pipelines CI / CD et les fonctions sans serveur.
Table des matières
- Construire des images docker avec
mmdebstrap
- Prérequis
- étape 1: Génération d'un système de fichiers Debian minimal
- étape 2: Importation du tarball dans Docker
- étape 3: Vérification de l'image docker
- étape 4: exécuter le conteneur
- Résumé
Pourquoi choisir mmdebstrap
?
- Images de base compactes: Crée un système de fichiers racine Debian minimal, résultant en des tailles d'images plus petites.
- Sortie polyvalente: génère des tarball, des images de squashfs ou des structures de répertoire, facilement intégrable avec Docker.
- sans dépendance: fonctionne sans avoir besoin
dpkg
ouapt
dans le conteneur. - builds reproductibles: Active les versions cohérentes à l'aide de versions de package précis.
Construire des images docker avec mmdebstrap
mmdebstrap
, une alternative moderne et efficace à debootstrap
, excelle à créer des systèmes de fichiers racine basés sur Debian. Ses fonctionnalités incluent des constructions reproductibles et une intégration de docker sans couture.
Prérequis
Avant de commencer, assurez-vous que vous avez:
- docker: installé et en cours d'exécution. Reportez-vous aux ressources suivantes pour les instructions d'installation sur votre distribution Linux:
- podman (facultatif): fournit une alternative pour les conteneurs en cours de root sans racine.
-
mmdebstrap
: Installer en utilisant:sudo apt update sudo apt install mmdebstrap
étape 1: Génération d'un système de fichiers Debian minimal
Cette étape crée une image Debian de base formant la base de votre conteneur docker.
-
Sélectionnez une suite Debian: Choisissez la version de Debian souhaitée (par exemple,
bullseye
,bookworm
). -
Création d'images: Exécutez cette commande pour générer un système de fichiers Debian minimal:
sudo apt update sudo apt install mmdebstrap
Cela comprend des packages essentiels comme curl
et ca-certificates
. Personnalisez davantage en ajoutant des packages ou en effectuant des modifications de configuration au besoin.
-
--variant=minbase
: crée un système de base minimal. -
--include=ca-certificates,curl
: Spécifie les packages à inclure. -
stable
: indique la libération debian. -
debian-rootfs.tar
: le tarball de sortie.
Nettoyage facultatif: supprimez les caches et journaux du package:
mmdebstrap --variant=minbase --include=ca-certificates,curl stable debian-rootfs.tar
étape 2: Importation du tarball dans Docker
Importez l'image Debian créée dans Docker:
tar --delete -f debian-rootfs.tar ./var/cache/apt ./var/lib/apt/lists
debian:custom
attribue une balise à l'image importée.
étape 3: Vérification de l'image docker
confirmer l'importation réussie de l'image:
cat debian-rootfs.tar | docker import - debian:custom
Sortie attendue (similaire):
docker images
étape 4: exécuter le conteneur
Démarrez un conteneur à l'aide de la nouvelle image:
<code>REPOSITORY TAG IMAGE ID CREATED SIZE localhost/debian custom 7762908acf49 21 seconds ago 170 MB</code>
Cela lance un terminal interactif dans le conteneur. Utilisez -d
pour le mode détaché.
Résumé
mmdebstrap
simplifie la création d'images Docker légères. En construisant des environnements Debian minimaux, vous vous assurez des conteneurs efficaces et compacts adaptés à vos besoins d'application. Cette approche est particulièrement avantageuse pour les développeurs à la recherche d'images Docker personnalisées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

LXD est décrit comme le conteneur de prochaine génération et le gestionnaire de machines virtuelles qui offre un immersif pour les systèmes Linux qui s'exécutent à l'intérieur de conteneurs ou comme machines virtuelles. Il fournit des images pour un nombre démesuré de distributions Linux avec le support

Lorsque vous rencontrez des problèmes DNS, vérifiez d'abord le fichier /etc/resolv.conf pour voir si le serveur de nom correct est configuré; Deuxièmement, vous pouvez ajouter manuellement le DNS public tel que 8,8.8.8 pour les tests; Utilisez ensuite les commandes NSlookup et Dig pour vérifier si la résolution DNS est normale. Si ces outils ne sont pas installés, vous pouvez d'abord installer le package DnsUtils ou Bind-Utils; Vérifiez ensuite l'état du service et le fichier de configuration résolus SystemD /etc/systemd/resolved.conf, et définissez DNS et FallbackDNS au besoin et redémarrez le service; Enfin, vérifiez l'état de l'interface réseau et les règles du pare-feu, confirmez que le port 53 n'est pas

Si vous constatez que le serveur s'exécute lentement ou que l'utilisation de la mémoire est trop élevée, vous devez vérifier la cause avant de fonctionner. Tout d'abord, vous devez vérifier l'utilisation des ressources système, utiliser les commandes TOP, HTOP, Free-H, IOSTAT, SS-ANTP et d'autres commandes pour vérifier les connexions CPU, mémoire, E / S de disque et réseau; Deuxièmement, analysez des problèmes de processus spécifiques et suivez le comportement des processus à haute occupation via des outils tels que PS, JSTACK, Strace; puis vérifier les journaux et surveiller les données, afficher les enregistrements OOM, les demandes d'exception, les requêtes lentes et autres indices; Enfin, le traitement ciblé est effectué en fonction de raisons courantes telles que les fuites de mémoire, l'épuisement des pools de connexion, les tempêtes de défaillance du cache et les conflits de taches de synchronisation, optimiser la logique du code, configurer un mécanisme de réessayer du délai de temps, ajouter des fusibles de limite actuelle et les ressources de mesure et d'évaluation régulièrement de la pression et d'évaluation.

En tant qu'administrateur système, vous pouvez vous retrouver (aujourd'hui ou à l'avenir) dans un environnement où Windows et Linux coexistent. Ce n'est un secret pour personne que certaines grandes entreprises préfèrent (ou doivent) gérer certains de leurs services de production dans Windows Boxes et

Franchement, je ne me souviens pas de la dernière fois que j'ai utilisé un PC avec un lecteur CD / DVD. C'est grace à l'industrie technologique en constante évolution qui a vu des disques optiques remplacés par des lecteurs USB et d'autres supports de stockage plus petits et compacts qui offrent plus de stockage

Dans Linux Systems, 1. Utilisez la commande IPA ou HostName-I pour afficher la propriété intellectuelle privée; 2. Utilisez curlifconfig.me ou curlipinfo.io/ip pour obtenir une adresse IP publique; 3. La version de bureau peut afficher IP privé via les paramètres système, et le navigateur peut accéder à des sites Web spécifiques pour afficher la propriété IP publique; 4. Les commandes communes peuvent être définies sous forme d'alias pour un appel rapide. Ces méthodes sont simples et pratiques, adaptées aux besoins de visualisation IP dans différents scénarios.

Construit sur le moteur V8 de Chrome, Node.js est un environnement d'exécution JavaScript open source et axé sur les événements con?u pour la construction d'applications évolutives et les API backend. NodeJS est connu pour être léger et efficace en raison de son modèle d'E / S non bloquant et

La réplication des données est le processus de copie de vos données sur plusieurs serveurs pour améliorer la disponibilité des données et améliorer la fiabilité et les performances d'une application. Dans la réplication de MySQL, les données sont copiées à partir d'une base de données du serveur ma?tre à OT
