GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer une image personnalisée à partir d'un conteneur Docker

Obtenir votre propre image personnalisée facilite le travail avec les conteneurs et ajoute une couche de sécurité supplémentaire. Jack Wallen vous montre comment.

Vos conteneurs sont tous basés sur des images, dont la plupart proviennent probablement de DockerHub ou d'un autre référentiel public. Mais pourquoi ne pas créer vos propres images personnalisées ? Après tout, il est plus facile pour vous non seulement d'obtenir l'image exacte avec laquelle vous devez travailler, mais c'est aussi une meilleure voie vers la sécurité. C'est également un excellent moyen de créer une image de base que vous pouvez utiliser pour un environnement de développement reproductible (il dispose donc exactement des outils dont vous avez besoin).

En savoir plus sur le cloud

Je vais vous montrer comment vous pouvez faire exactement cela :créer une image à partir d'un conteneur à l'aide du moteur d'exécution Docker.

Ce dont vous aurez besoin

Je ferai une démonstration sur Ubuntu Server 20.04, mais vous pouvez le faire sur n'importe quelle plate-forme prenant en charge Docker. La seule chose que vous devrez modifier est le processus d'installation de Docker. Vous aurez également besoin d'un utilisateur avec des privilèges sudo (pour l'installation).

Cela dit, mettons-nous au travail.

Comment installer Docker

Commençons par installer Docker. Nous allons installer la dernière version de l'édition communautaire de Docker. Connectez-vous à votre serveur et installez les dépendances nécessaires avec :

sudo apt-get install ca-certificates curl gnupg lsb-release -y

Une fois cette opération terminée, ajoutez la clé Docker GPG :

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Ensuite, ajoutez le référentiel Docker avec la commande :

echo 
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu 
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Mettez à jour apt et installez Docker-ce avec :

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

Ajoutez votre utilisateur au groupe Docker avec :

sudo usermod -aG docker $USER

Déconnectez-vous et reconnectez-vous pour que les modifications prennent effet.

Comment créer votre conteneur de base

Nous allons utiliser l'image officielle d'Ubuntu pour créer notre conteneur (qui servira à créer la nouvelle image). Déroulons la dernière version d'Ubuntu à partir de DockerHub et créons un conteneur nommé ubuntu-test avec la commande :

docker run -ti --name=ubuntu-test ubuntu:latest

À ce stade, vous devriez vous retrouver à l'invite bash du conteneur Ubuntu en cours d'exécution. Disons que cette nouvelle image sera utilisée pour le développement Java. Installez le dernier environnement d'exécution Java. Première mise à jour d'apt avec :

apt-get update

Ensuite, installez le dernier JRE avec :

apt-get install default-jre -y

Une fois l'installation terminée, quittez le conteneur avec :

exit

Comment créer la nouvelle image

La première chose à faire est de créer un commit pour le conteneur en cours d'exécution. Faites ceci avec :

docker commit ubuntu-test

Ensuite, nous devons localiser l'ID de conteneur pour notre instance en cours d'exécution avec la commande :

docker ps-a

Démarrez le conteneur avec :

docker start ID

Où ID est l'ID du conteneur pour ubuntu-test.

Ensuite, nous devons trouver l'ID de l'image avec la commande :

docker images

Lorsque nous avons effectué le commit plus tôt, il a créé une image sans balise ni nom. Vous verrez une image répertoriée avec à la fois l'ID et le nom. C'est l'image que nous voulons taguer. En utilisant les quatre premiers caractères de l'ID d'image de la nouvelle image, étiquetez-la avec :

docker tag ID ubuntu-test-base

Où ID correspond aux quatre premiers caractères de l'ID du conteneur pour ubuntu-test. Maintenant, si vous lancez la commande docker images, vous verrez votre nouvelle image avec le nom ubuntu-test-base. Vous pouvez ensuite déployer un nouveau conteneur, en utilisant cette nouvelle image, avec une commande telle que :

docker create --name ubuntu-jre ubuntu-test-base

Et c'est tout ce qu'il y a à faire pour créer une image Docker personnalisée, basée sur un conteneur modifié.

Abonnez-vous à TechRepublic's How To Make Tech Work sur YouTube pour tous les derniers conseils techniques pour les professionnels de Jack Wallen.

Lien source


Linux
  1. Comment créer, répertorier et supprimer des conteneurs Docker sous Linux

  2. Extraire le fichier de l'image Docker ?

  3. Comment se détacher d'un conteneur Docker sans l'arrêter

  4. Comment créer une image Docker à partir d'un conteneur et d'un Dockerfile

  5. Comment créer une image disque VHD à partir d'un système live Linux ?

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

Comment créer un conteneur d'application Django Docker

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

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

Comment se connecter en SSH à un conteneur Docker

Comment gérer les conteneurs Docker