Docker Déploiement - MaximeDanlee/admin2-projet GitHub Wiki
Déploiement avec Docker
Conteneurs
Pour faciliter le déploiement des services lors du projet, des conteneurs Docker ont été utilisés pour les services suivants :
- DNS Public
- Web Public
- Tout le Réseau Interne
Ceci permet de déployer ces services sur peu import quel serveur ayant docker installé dessus sans complications. De plus, grâce au DockerFile, plus rien ne doit être configuré, installé ou mis à jour dans le conteneur. Il suffit de télécharger le conteneur depuis DockerHub de le lancer avec la Bonne commande.
Dans l'exemple du DNS Public, on retrouve un DockerFile qui ressemble à ceci.
FROM ubuntu:bionic
RUN apt update && apt upgrade -y
RUN apt install bind9 bind9utils -y
RUN apt install dnsutils -y
COPY ./named.conf /etc/bind/
COPY ./named.conf.options /etc/bind/
COPY ./named.conf.local /etc/bind/
COPY ./named.conf.log /etc/bind/
COPY ./db.l2-2.ephec-ti.be /etc/bind/zones/
COPY ./dnssec_key.sh /etc/bind/zones/
RUN chmod a+x /etc/bind/zones/dnssec_key.sh
RUN /etc/bind/zones/dnssec_key.sh
RUN rm /etc/bind/zones/dnssec_key.sh
CMD named -f
EXPOSE 53
Grâce à ce DockerFile, à chaque construction les actions suivantes seront executés :
- Mise à jour des logiciels dans le conteneur,
- Installation de Bind9,
- Installation du package dnsutilis (pour effectuer un dig),
- Copie des différents fichiers de configuration dans le conteneur (fichiers de configuration, zone),
- Le script servant à activer le dnssec sera lancé à l'intérieur du conteneur.
Ensuite, pour lacner le conteneur il suffit de lancer la commande suivante :
docker run \
-d \
--publish 53:53/tcp \
--publish 53:53/udp \
--name ns \
--net zone_dmz \
--ip 172.16.129.1 \
--network-alias ns \
adminprojet123/dns_public:latest
Pour vérifier le lancement du conteneur, il faut exécuter le commande suivante.
docker ps
Lorsqu'on lance cette commande, on est censé avoir un résultat comme celui-ci :
Réseaux
Pour représenter les différents réseaux de l'entreprise Woodytoys, nous avons utilisé des réseaux Docker. On retrouve des réseaux Docker pour les réseaux suivants de l'entreprise Woodytoys :
- La zone DMZ
- Le réseau de serveurs internes
- Le réseau de l'atelier
- Le réseau des commerciaux
- Le réseau des comptables
- Le réseau de la direction
Un réseau peut être lancé avec une simple commande. Dans le cas du réseau pour la zone DMZ, cette commande prend la forme suivante :
sudo docker network create \
--subnet=172.16.129.0/24 \
--gateway 172.16.129.254 \
zone-dmz
Ensuite, pour vérifier que le réseau existe, exécuter la commande suivante :
docker network ls
Dans le résultat, on constate que le réseau dmz est créé (en bas de la liste)