Dockerfile (méthode simplifié)


Intro

Désolé si ce n'est pas très propre, je viens tout juste de me mettre à docker
Vous aurez besoin de docker pour le lancer
apt install docker.io

Téléchargement

Il faudra téléchargez tout le dossier
https://github.com/Yoyox78/Site_Deploiement_Logiciels/tree/main/dockerfile
Si vous avez git :
git clone https://github.com/Yoyox78/Site_Deploiement_Logiciels

  • Entrez dans le dossier extrait
    • Ajoutez y la clé privée (à coté du fichier dockerfile) que vous avez générée au début, elle doit commencer par id_ pour qu'elle soit copiée dans le répertoire .ssh du container docker
    • Renommer le dockerfile que vous souhaitez utiliser en dockerfile et supprimer l'autre dans Site_Deploiement_Logiciels-main/dockerfile (le alpine consomme 100Mo d'espace, contre 700 pour debian)
    • Le dossier logiciels sera monté dans le container, c'est dans ce dossier que vous allez devoir ajouter vos fichiers pour l'installation des logiciels

Utilisation

Toujours dans le dossier téléchargé
La commande suivante va permettre de build le dockerfile, cela peut prendre un peu de temps suivant les performances de la machine
docker build -t deploiement .
-t sert à tagger l'image crée

Une fois le build terminé, cette commande va permettre de lancer le container
docker run --name site -d -p 80:80 -v /root/docker/logiciels:/etc/Deploiement_Logiciel/ansible/logiciels:ro -e USER=administrateur deploiement
ou pour utiliser la carte de l'hôte
docker run --network host --name site -d -v /root/docker/logiciels:/etc/Deploiement_Logiciel/ansible/logiciels:ro -e USER=administrateur deploiement

--name site nom que vous souhaitez donner au container
-p 80:80 sera utilisé sur le port 80, vous pouvez modifier
-v /root/docker/logiciels:/etc/Deploiement_Logiciel/ansible/logiciels:ro Remplacer /root/docker/logiciels, par le chemin complet d'accès au répertoire logiciels qui était présent à coté du fichier dockerfile et que vous avez déplacer à l'endroit souhaitez
-e USER=administrateur n'indiquer ce paramètre que si l'utilisateur administrateur des machines a été modifié, la valeur indiqué dans la ligne de commande RUN surpasse la variable présente dans le dockerfile

Ne pas oublier de faire la partie mise en place (partie Windows) au début de la page

Voir les logs du container

Entrez la commande suivante pour avoir l'id du container
docker ps -a
afficher les logs ID est l'id récupérer
docker logs ID -f

Passez en mode verbeux ansible

Modifier la ligne 44 : https://github.com/Yoyox78/Site_Deploiement_Logiciels/blob/main/Full_independant/app.py

extravars=extra_vars)

par

extravars=extra_vars,
verbosity=3)