Courte présentation d’une procédure permettant de déployer rapidement des containers Docker. Dans l’exemple je présente le déploiement d’un container apache2 sous Docker sans utiliser de fichier de configuration. Configurer des containers via des fichiers de configuration permet d’automatiser le déploiement et faciliter la configuration du container. L’utilisation de fichier de configuration pour Docker fera l’objet d’un future billet.
Installation du Service Docker
Version du noyau et l’architecture du système
Version de la release
Update des dépôts
Installation des paquets supplémentaires recommandés
Installation de Docker depuis les dépôts Ubuntu
Vérification de l’installation de Docker avec le container de base
Si Docker ne peut pas trouver une image dans le système local, il va la télécharger dans le hub de la communauté docker (pulling). Dans notre exemple le container hello-world n’est pas présent par défaut. Il sera donc téléchargé automatiquement.
sudo apt-get purge docker-engine
sudo rm -rf /var/lib/docker
Si des fichiers de configuration supplémentaires ont été installés, ils doivent être supprimés manuellement.
Administration du Service Docker
sudo systemctl start docker
sudo systemctl stop docker
#Activer/Desactiver au Boot
sudo systemctl enable docker
sudo systemctl disable docker
#Status actuel du Service
sudo systemctl status docker
Pour Docker si une image n’est pas présente dans le système local, il va automatiquement la télécharger. Si vous souhaitez lister les images présentes dans le système
sudo docker ps -a
sudo docker ps
Commandes Docker
docker build : Construction d’une nouvelle image
docker commit : Créer une nouvelle image à partir des changements d’un conteneur
docker images : Lister des images
docker ps : Lister de conteneurs
docker pull : Récupérer une image ou un repository à partir du Docker HUB
docker rm : Supprimer une ou plusieurs conteneurs
docker rmi : Supprimer une ou plusieurs images
docker start : Lancer un ou plusieurs conteneurs arrêtés
docker run : Exécuter une commande dans un nouveau conteneur
docker stop : Arrêtez un conteneur en cours d’exécution
Création d’un container pour service Web via apache2 en procédure Manuel
Dans cette exemple le container sera accessible depuis le port 8080 et dirigera vers le port 80 du container.
Je choisis également de créer un volume entre l’hôte et le container, ainsi je map le dossier du système hôte « home/$USER/PROJECT/dockertestapache » dans le container vers « /usr/local/apache2/htdocs »
On peut ainsi directement modifier les fichiers dans le dossier « home/$USER/PROJECT/dockertestapache/index.html » pour modifier l’index de notre serveur Web.
Le container est à présent en cours de fonctionnement
Je détail des options de lancement :
-d lancer une image en arrière plan
-i permet d’activer le mode interactif, utile pour visualiser les logs
-t permet d’avoir un pseudo-terminal
–rm permet de supprimer automatiquement le conteneur à la fin de l’exécution
-v DossierSourceDansHost:DossierDestinationdansContainer
On pourrai directement interagir avec le container en suivant la petite procédure ci-dessous
#on peut ainsi procéder à l'installation de Nano
apt-get update && apt-get install nano
#Le fichier d'index apache2 du container se trouve
nano /usr/local/apache2/htdocs
Si vous souhaitez supprimer le container, on stop le container puis on le supprime.