Comment créer votre propre image Docker sous Linux

Avez-vous déjà voulu créer votre propre image Docker ? Il s'avère qu'avec quelque chose appelé "Dockerfile", vous le pouvez. Dans ce guide, nous verrons comment créer votre propre image Docker.

Comment installer Docker sous Linux

Vous devez avoir installé Docker sur votre serveur Linux avant de tenter de créer une nouvelle image. Heureusement, docker est facile à installer sur une grande variété de systèmes d'exploitation Linux. Dans ce guide, nous nous concentrerons sur Ubuntu, Debian , Arch Linux, Fedora et OpenSUSE .

Pour installer Docker, ouvrez un terminal. Une fois ouvert, l'installation est prête à commencer. Suivez les instructions d'installation décrites ci-dessous qui correspondent au système d'exploitation Linux que vous utilisez.

Ubuntu/Debian

Vous devrez d'abord mettre à jour l'index des logiciels sur votre système Ubuntu/Debian. Pour ce faire, exécutez la commande apt update ci-dessous.

mise à jour sudo apt

Vous devez maintenant installer le package de transport HTTPS pour effectuer une installation via HTTPS. Vous devrez également installer Curl et quelques autres packages. Ces packages peuvent être installés avec la commande apt install .

sudo apt install apt-transport-https ca-certificates curl software-properties-common

Une fois les packages installés, il est temps d'activer la clé Docker GPG sur votre système Ubuntu/Debian. Cette clé garantit qu'il est sûr d'installer des packages sur Ubuntu.

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

Avec la clé GPG activée, il est temps d'activer le dépôt Docker. Pour ce faire, exécutez la commande echo suivante dans un terminal.

echo "deb [arch=amd64 signé-par=/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

Lorsque vous avez activé le référentiel Docker, réexécutez la commande apt update pour actualiser l'index du logiciel.

mise à jour sudo apt

Enfin, vous pouvez installer les packages Docker dont vous avez besoin sur Ubuntu ou Debian.

sudo apt installer docker-ce docker-ce-cli containerd.io

Arch Linux

Si vous utilisez Arch Linux, vous pouvez simplement exécuter la commande pacman -S et installer le package "docker" pour que Docker fonctionne sur votre système.

menu fixe sudo pacman -S

Avec le package Docker installé sur votre système Arch, exécutez les commandes systemctl suivantes pour activer le logiciel.

sudo systemctl activer docker sudo systemctl démarrer docker

Feutre

Faire fonctionner Docker sur Fedora est assez simple. Pour commencer, utilisez la commande dnf install pour installer le logiciel sur votre système.

menu fixe d'installation sudo dnf

Une fois le paquet installé sur votre système Fedora, activez-le avec systemd.

sudo systemctl activer docker sudo systemctl démarrer docker

OuvrirSUSE

Pour que Docker fonctionne sur OpenSUSE, vous devez ajouter le dépôt Docker.

sudo zypper addrepo https://download.docker.com/linux/opensuse/$(awk -F= '/^VERSION_ID/{print $2}' /etc/os-release)/x86_64/stable docker

Ensuite, actualisez Zypper et installez le logiciel.

actualisation sudo zypper

sudo zypper installer docker-ce

Enfin, activez Docker sur votre système avec systemd.

sudo systemctl activer docker sudo systemctl démarrer docker

Comment choisir votre image de base

Chaque image Docker extraite de DockerHub est construite avec une image de base. Vous devrez donc choisir une image de base pour votre conteneur Docker. Dans ce guide, nous utiliserons Ubuntu, car c'est l'un des systèmes d'exploitation Linux les plus compatibles.

Dans ce guide, nous allons vous montrer un exemple de création d'une image Drupal 10 avec Ubuntu 22.04. Cependant, ces instructions de construction peuvent s'appliquer à tout ce que vous souhaitez créer, des applications Web aux programmes Python, etc.

Pour commencer, ouvrez l'éditeur de texte Nano dans un terminal. Vous utiliserez Nano pour créer votre propre Dockerfile.

nano -w ~/fichier docker

Dans l'éditeur de texte Nano, entrez le code suivant pour spécifier que vous souhaitez utiliser Ubuntu. Pour obtenir Ubuntu 22.04, spécifiez-le. Si vous souhaitez utiliser une autre version d'Ubuntu, vous trouverez des informations ici .

# Use the official Ubuntu base image
FROM ubuntu:22.04

Comment configurer le répertoire de travail

Vous devez configurer un répertoire de travail dans votre conteneur Docker. Le répertoire de travail est l'endroit où l'application est déployée sur Ubuntu dans le conteneur. Dans cet exemple, nous allons travailler avec Drupal 10. Drupal est une application Web, nous devrons donc définir le WORKDIR comme /var/www/html/.

Dans l'éditeur de texte Nano, appuyez sur la touche Entrée pour créer un espace. Ensuite, collez le code suivant.

# Set the working directory in the container WORKDIR /var/www/html

Comment installer les dépendances du programme

L'application que vous déployez dans votre image Docker doit avoir ses dépendances respectées. Si les dépendances correctes ne sont pas installées dans l'image, cela ne fonctionnera pas. Nous créons une image Drupal 10 basée sur Ubuntu 22.04, nous devons donc ajouter toutes les dépendances Drupal 10 au fichier.

Dans l'éditeur de texte Nano, appuyez sur la touche Entrée pour créer un espace. Ensuite, collez le code suivant.

# Install dependencies RUN apt-get update && apt-get install -y \ apache2 \ php \ libapache2-mod-php \ php-curl \ php-gd \ php-intl \ php-mbstring \ php-mysql \ php-pgsql \ php-xml \ php-zip \ unzip

Comment copier le code du programme

La prochaine étape du processus consiste à fournir à votre fichier Docker le code du programme. Encore une fois, nous utilisons Drupal 10 comme exemple. Il faut donc fournir au Dockerfile les moyens de télécharger et d'extraire Drupal 10.

Dans l'éditeur de texte Nano, appuyez sur la touche Entrée pour créer une nouvelle ligne. Ensuite, ajoutez le code suivant pour que votre Dockerfile puisse télécharger Drupal 10.

# Download and install Drupal RUN wget https://ftp.drupal.org/files/projects/drupal-10.2.tar.gz && \ tar -xvf drupal-10.2.tar.gz && \ mv drupal-10.2 .

Comment exposer les ports

Chaque fois que vous déployez un conteneur Docker, il accède aux ports. Par exemple, si vous exécutez le conteneur Syncthing par défaut, il expose le port 8384. Nextcloud ? Port 8080 et 80. Votre conteneur doit exposer les bons ports pour fonctionner correctement.

Tout d'abord, déterminez à quels ports le programme que vous déployez doit accéder. Dans cet exemple, nous déployons Drupal 10. Comme Drupal 10 est un système CMS pour un serveur Web, il a besoin du port 80. Ainsi, dans le fichier texte Nano, nous exposons le port 80.

# Expose the Drupal port EXPOSE 80

Comment définir la commande par défaut

Vous devez définir la commande par défaut dans votre Dockerfile afin que, lorsque votre image est créée et déployée, elle commence automatiquement à exécuter le programme. Dans notre exemple, nous voulons que Drupal 10 démarre instantanément une fois le conteneur déployé, nous devons donc ajouter une commande de lancement au Dockerfile.

Dans l'éditeur de texte Nano, appuyez sur Entrée pour créer un nouvel espace dans le fichier. Ensuite, collez le code suivant.

# Start Apache in the foreground CMD ["apache2ctl", "-D", "FOREGROUND"]

Lorsque vous avez ajouté ce dernier morceau de code au fichier, enregistrez-le en appuyant sur Ctrl + O et quittez l'éditeur de texte Nano avec Ctrl + X . Le Dockerfile devrait ressembler au code ci-dessous.

Remarque : il s'agit d'un exemple de Dockerfile. Vous pouvez utiliser l'exemple Drupal comme référence pour créer le vôtre pour toute application que vous souhaitez.

FROM ubuntu:22.04

# Set the working directory
WORKDIR /var/www/html

# Install dependencies
RUN apt-get update && apt-get install -y \
apache2 \
php \
libapache2-mod-php \
php-curl \
php-gd \
php-intl \
php-mbstring \
php-mysql \
php-pgsql \
php-xml \
php-zip \
unzip


# Download and install Drupal
RUN wget https://ftp.drupal.org/files/projects/drupal-10.2.tar.gz && \
tar -xvf drupal-10.2.tar.gz && \
mv drupal-10.2 .


# Expose the Drupal port
EXPOSE 80

# Start Apache in the foreground
CMD ["apache2ctl", "-D", "FOREGROUND"]

Comment construire l'image

Pour créer votre nouvelle image Docker avec le Dockerfile que vous avez créé, entrez la commande docker build suivante .

sudo docker build -t mon-docker-image .

La commande ci-dessus construira votre image Docker.

Comment déployer l'image

Pour déployer votre nouvelle image dans un conteneur, vous devez utiliser la commande docker run . Par exemple, pour exécuter l'image Drupal 10 Ubuntu nouvellement créée sur le port 80, procédez comme suit.

sudo docker run -d --name my-drupal-container -p 80:80 my-docker-image

Leave a Comment

Comment activer la connexion automatique à Kodi sous Linux

Comment activer la connexion automatique à Kodi sous Linux

Guide complet pour activer la connexion automatique à Kodi sous Linux avec diverses distributions et environnements de bureau.

Comment exécuter Rocket League sur Linux

Comment exécuter Rocket League sur Linux

Découvrez comment exécuter Rocket League sur Linux malgré l

Linux : Comment exporter et importer des machines virtuelles dans VMware Workstation

Linux : Comment exporter et importer des machines virtuelles dans VMware Workstation

Découvrez comment exporter et importer efficacement des machines virtuelles utilisant le format OVF avec VMware Workstation 16 sur Linux.

Comment jouer à des jeux Nintendo DS sur Linux avec MelonDS

Comment jouer à des jeux Nintendo DS sur Linux avec MelonDS

Découvrez comment émuler des jeux Nintendo DS sur votre système Linux avec l

Comment sauvegarder les paramètres du navigateur Opera sur Linux

Comment sauvegarder les paramètres du navigateur Opera sur Linux

Découvrez comment sauvegarder vos paramètres du navigateur Opera sur Linux de manière rapide et sécurisée en utilisant le terminal et l

Comment exécuter Apple Safari sous Linux

Comment exécuter Apple Safari sous Linux

Vous voulez exécuter Apple Safari sur votre PC Linux ? Découvrez comment configurer et optimiser Safari sur n’importe quel système d

Comment installer LibreELEC sur le Raspberry Pi 4

Comment installer LibreELEC sur le Raspberry Pi 4

Découvrez comment installer et configurer et configurer LibreELEC sur votre Raspberry Pi 4 pour transformer votre appareil en lecteur multimédia robuste.

Comment vider le cache DNS sous Linux

Comment vider le cache DNS sous Linux

Découvrez comment vider le cache DNS sous Linux, une solution efficace pour résoudre les problèmes de connexion Internet.

Comment jouer à Hearthstone sur Linux

Comment jouer à Hearthstone sur Linux

Découvrez comment installer et jouer à Hearthstone sur Linux à l

Comment jouer à Brawlhalla sur Linux

Comment jouer à Brawlhalla sur Linux

Guide complet pour jouer à Brawlhalla, le jeu de combat 2D gratuit, sur Linux via Steam, avec des instructions d