GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Comment créer une image Docker personnalisée avec Dockerfile

Docker fournit un moyen simple de configurer n'importe quelle image docker et de créer votre propre image personnalisée à l'aide du fichier docker.

Dans ce didacticiel, vous apprendrez à extraire une image officielle du référentiel Docker et à la personnaliser en fonction de vos propres besoins. Ensuite, vous pouvez exécuter et vérifier l'image docker personnalisée.

Création d'une image docker personnalisée

Ainsi, dans cet exemple, vous utiliserez une image Alpine Linux qui n'inclut pas l'éditeur Vim par défaut. Vous allez modifier cette image Docker pour créer une nouvelle image Docker d'Alpine Linux qui inclut l'éditeur Vim par défaut. Cela ne peut pas être plus simple que cela. est-ce possible ?

Prérequis

Si vous ne l'avez pas déjà fait, veuillez installer Docker sur Ubuntu ou sur la distribution Linux que vous utilisez. Assurez-vous de vous ajouter au groupe docker afin de pouvoir exécuter docker sans sudo.
Vous aurez besoin d'une connexion Internet active pour télécharger l'image Docker de base.

Étape 1 :Obtenir l'image Docker [facultatif]

J'ai choisi Alpine Linux dans cet exemple car il est vraiment petit. L'image du docker Alpine fait à peine 5 Mo, pouvez-vous le croire ? C'est la distribution Linux idéale pour la conteneurisation.

Cette étape est facultative. Je l'ai inclus pour montrer que vous pouvez le comparer avec l'image docker personnalisée.

Extrayez la dernière image docker d'Alpine Linux à l'aide de la commande docker pull :

docker pull alpine

Étape 2 :Créer Dockerfile avec la personnalisation nécessaire

Créons maintenant un nouveau fichier vide nommé Dockerfile à l'aide de la commande touch.

touch Dockerfile

Maintenant, vous devez éditer ce fichier et ces trois lignes et l'enregistrer. Vous pouvez utiliser un éditeur comme Vim ou Nano ou utiliser la commande cat pour ajouter ces lignes au Dockerfile.

FROM alpine:latest
RUN apk update
RUN apk add vim

Ce que vous faites ici consiste à créer une nouvelle image Docker en téléchargeant la dernière image Docker Alpine à partir du Docker Hub.

Comme apt, Alpine utilise le gestionnaire de paquets apk. Ainsi, les deux commandes suivantes indiquent essentiellement à Alpine Linux de mettre à jour le cache de packages disponible (mise à jour apk), puis d'installer Vim (apk add vim).

Comme vous pouvez le voir, avec RUN dans Dockerfile, vous pouvez personnaliser votre image docker de base en exécutant des commandes spécifiques.

Étape 3 :Créer l'image docker personnalisée avec Dockerfile

La commande pour créer l'image personnalisée à partir du Dockerfile ressemble à ceci :

docker build -t new_docker_image_name PATH_to_Dockerfile

Avec la balise -t, vous spécifiez le nom de votre image docker personnalisée.

Considérant que votre Dockerfile se trouve dans votre répertoire actuel, vous pouvez créer la nouvelle image docker d'Alpine Linux avec Vim installé comme ceci :

docker build -t alpine-with-vim .

Voyons maintenant les images Docker disponibles sur le système :

[email protected]:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
alpine-with-vim     latest              fa8255cf0de0        5 seconds ago       33.9MB
alpine              latest              a187dde48cd2        3 weeks ago         5.6MB

Vous pouvez voir que l'image de base du menu fixe qui faisait à peine 5 Mo est maintenant de 33 Mo avec Vim installé dessus (et le cache du paquet mis à jour).

Maintenant, vérifions que vim est installé sur vos images docker modifiées en exécutant un conteneur à partir de celui-ci :

docker container run -ti alpine-with-vim /bin/sh

Une fois à l'intérieur du conteneur, vous pouvez vérifier que Vim est installé en vérifiant sa version :

/ # vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Dec 12 2019 19:30:49)
Compiled by Alpine Linux

Quittez le conteneur en tapant exit dans le terminal. Arrêtez le conteneur, supprimez le conteneur et supprimez les images Docker (si vous le souhaitez) pour libérer de l'espace disque.

Bravo! Vous venez d'apprendre à créer votre propre image docker personnalisée.

Je sais que ce n'est pas un tutoriel très complet et que vous pouvez avoir des besoins complexes. Mais ce didacticiel constitue la première étape vers la compréhension de la personnalisation des images Docker.

Je vous recommande fortement de lire plus sur Dockerfile pour savoir quelles autres options vous avez à votre disposition pour personnaliser les images Docker.

Si vous avez des questions ou des suggestions, veuillez laisser un commentaire ci-dessous.


Docker
  1. Comment installer Jenkins avec Docker

  2. Comment partager des images Docker avec d'autres

  3. Comment modifier les images Docker

  4. Comment valider les modifications apportées à une image Docker

  5. Comment créer et configurer automatiquement des images Docker personnalisées avec Dockerfile - Partie 3

Comment créer des images Docker avec un Dockerfile sur Ubuntu 20.04 LTS

Comment créer une image ISO Ubuntu Live personnalisée avec Cubic

Une brève introduction à Dockerfile

Comment indexer les dépendances de votre image Docker avec Syft

Comment créer une image Docker à partir d'un conteneur en cours d'exécution

Comment créer une image Windows Docker avec la balise Docker Build