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

Laisser un commentaire

Résoudre les problèmes de déchirure d'écran sur les cartes graphiques Intel sous Pardus Linux : un guide pratique

Résoudre les problèmes de déchirure d'écran sur les cartes graphiques Intel sous Pardus Linux : un guide pratique

Corrigez les déchirures d'écran des cartes graphiques Intel sous Pardus Linux en vérifiant X11 vs Wayland, les paramètres du compositeur, le taux de rafraîchissement, le pilote Xorg actif et TearFree uniquement lorsque cela est approprié.

Comment configurer le pare-feu SLES 15 avec firewall-cmd

Comment configurer le pare-feu SLES 15 avec firewall-cmd

Configurer firewalld sur SLES 15 : vérifier les zones, autoriser les services ou les ports, enregistrer les règles permanentes, recharger en toute sécurité et vérifier l’accès.

Guide de configuration de la mise à jour en direct de SLES : Appliquer les mises à jour du noyau sans redémarrer

Guide de configuration de la mise à jour en direct de SLES : Appliquer les mises à jour du noyau sans redémarrer

Activez la mise à jour en direct du noyau sur SLES 15 SP7, appliquez les correctifs pris en charge sans redémarrer, vérifiez les correctifs actifs et comprenez quand un redémarrage du noyau est encore nécessaire.

Comment activer le mode FIPS sur SUSE Linux Enterprise Server 15

Comment activer le mode FIPS sur SUSE Linux Enterprise Server 15

Activez le mode FIPS sur SLES 15 avec l'utilitaire de configuration pris en charge par SUSE, redémarrez en toute sécurité, vérifiez l'état du noyau et de la politique de chiffrement, et vérifiez les limites de certification.

Comment installer Google Chrome sur Gooroom OS sans enfreindre les règles de sécurité

Comment installer Google Chrome sur Gooroom OS sans enfreindre les règles de sécurité

Installez Google Chrome sur Gooroom OS en toute sécurité grâce aux paquets .deb officiels, à APT, aux vérifications de politique, aux conseils de mise à jour et aux correctifs pour les appareils gérés.

Comment exporter en toute sécurité les journaux système SLES vers un serveur Syslog distant

Comment exporter en toute sécurité les journaux système SLES vers un serveur Syslog distant

Transférez en toute sécurité les journaux système SLES vers un serveur syslog distant grâce à rsyslog, aux certificats TLS, à la vérification du nom du pair, aux files d'attente, à la validation et aux tests.

Intégration de SLES 15 Active Directory avec SSSD : Guide étape par étape

Intégration de SLES 15 Active Directory avec SSSD : Guide étape par étape

Intégrez SLES 15 à Active Directory avec SSSD à l'aide de YaST. Configurez le DNS et l'heure, configurez les connexions au domaine, vérifiez Kerberos et comparez SSSD, Winbind et realmd.

Résolution des problèmes liés au pilote Wi-Fi Realtek RTL8821CE sous Pardus Linux

Résolution des problèmes liés au pilote Wi-Fi Realtek RTL8821CE sous Pardus Linux

Résolvez les problèmes de Wi-Fi RTL8821CE sur Pardus Linux en vérifiant le pilote rtw88 intégré, le firmware Realtek, rfkill, NetworkManager et les options de repli sécurisées.

Résolution de l'erreur « Échec temporaire de la résolution DNS » sous Debian 12 avec systemd-resolved

Résolution de l'erreur « Échec temporaire de la résolution DNS » sous Debian 12 avec systemd-resolved

Diagnostiquer et corriger les échecs de résolution DNS de Debian 12 avec systemd-resolved, y compris resolv.conf, NetworkManager, networkd, cache et vérification.

Comment installer Pardus Linux en dual boot avec Windows 11 en toute sécurité

Comment installer Pardus Linux en dual boot avec Windows 11 en toute sécurité

Installez Pardus 25.2 à côté de Windows 11 en sauvegardant, en réduisant le volume Windows, en démarrant sur une clé USB UEFI et en protégeant les partitions EFI et de récupération existantes.