Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
enseignement:d35:tp:docker [2016/01/04 20:51] Emmanuel Brunoenseignement:d35:tp:docker [2023/09/20 18:52] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 ====== D35 - TP5 - Docker ====== ====== D35 - TP5 - Docker ======
 ===== Installer docker et docker-machine ===== ===== Installer docker et docker-machine =====
 +[[docker:dockerinvm|Mettre en place docker]].
  
-Vous pouvez installer Docker sur votre machine personnelle en suivant : https://docs.docker.com/engine/installation/+==== Découverte de Docker ==== 
-Nous allons commencer par le mettre en place sur les machines des salles de TP (donc sans être root) cela fonctionne bien mais avec certaines limite (sur les volumes notamment).+<note> 
 +Vérifier votre installation et regarder les commandes de bases avec les étapes 1 à 3 de https://docs.docker.com/engine/getstarted/step_one/
  
-Penser à configurer le proxy dans l'hôte : +Suivre le tutoriel https://docs.docker.com/engine/getstarted/step_four/ pour créer sa propre image. 
-<cli> +</note>
-export https_proxy=http://login:password@proxy.univ-tln.fr:3128&& export http_proxy=$https_proxy  +
-</cli>+
  
-Télécharger et installer les binaires de docker engine (le moteur mais nous n'utiliserons que le client sur l'hôte) et docker machine (le gestionnaire de VM)+Il est possible de passer des variables d'environnement lors de la construction de l'image sans que celles-ci n'y soient stockées (c'est utilise pour le proxy par exemple) : ''--build-arg HTTP_PROXY=http://...''
-<cli> +
-cd ~/bin +
-curl -L https://get.docker.com/builds/Linux/x86_64/docker-latest > docker && chmod +x docker +
-curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64 > docker-machine && chmod +x docker-machine +
-export PATH=~/bin:${PATH} +
-</cli>+
  
-Supprimer le proxy dans l'hôte: +Vous pouvez maintenant construire vos propres images, en personnalisant d'autres (java, maven, payara, mysql, ...). Pour orchestrer l'installation d'un environnement complet composé de plusieurs conteneur il faut étudier https://docs.docker.com/compose/
-<cli> +
-unset http_proxy  && unset https_proxy +
-</cli>+
  
-Créer une machine virtuelle en y installant docker engine : +==== Travail à faire ==== 
-<cli> +  * Mettre en place plusieurs serveurs MYSQL sur votre machine chacun doit pouvoir être utilisé par le client sur l'hôte. 
-docker-machine create --driver virtualbox default +    * Modifier le pour que les base de données soit dans des conteneurs séparés (si vous êtes root vous pouvez aussi monter un répertoire local). 
-eval "$(docker-machine env default)" +  * Créer un conteneur qui contient et exécute une application peut exécuter une application Java. 
-docker-machine ip default +  * En utilisant docker-compose, créer des conteneurs qui permette en une seule commande de lancer une base de données et une application java qui s'y connecte
-</cli> +  * Compiler une application Java avec Maven en utilisant docker. Si vous n'êtes pas root et ne pouvez pas monter les volumes de l'hôtes, un indice cherchez avec ONBUILD
- +
-Se connecter dans la vm et ajouter le proxy +
-<cli> +
-docker-machine -D ssh default +
-sudo vi /var/lib/boot2docker/profile +
-</cli> +
- +
-ajouter dans le fichier : +
-export HTTP_PROXY=http://login:password@proxy.univ-tln.fr:3128 +
-export HTTPS_PROXY=http://login:password@proxy.univ-tln.fr:3128 +
-export NO_PROXY=localhost,127.0.0.0/8,docker.lsis.univ-tln.fr +
- +
-puis relancer le service docker dans boot2docker (la VM), quitter la VM et tester depuis l'hôte: +
-<cli> +
-sudo /etc/init.d/docker restart +
-exit +
-docker search ubuntu +
-docker pull debian +
-docker run -it --name debian debian +
-</cli>+
  
 +==== Cas d'usage avec GitLab ====
 <note> <note>
-Supprimer le conteneur Debian, ainsi que l'image. Attention, la place est limitée dans la VM (cf. --engine-env et --virtualbox-disk-size à la création de la VM avec docker-machine).+Après avoir eu un compte sur https://gitlab.lsis.univ-tln.fr/, créer un projet, y déposer le projet de base créé par l'archetype maven quickstart et mettre en place l'intégration continue en suivant les instructions suivantes
 </note> </note>
  
-==== Découverte de Docker ==== +Ajouter simplement le fichier minimal suivant à la racine (Il indique l'image à utiliser et la commande).
-Suivre le tutoriel https://docs.docker.com/linux/ pour créer sa propre image. +
- +
-==== Cas d'usage avec GitLab ==== +
-Après avoir eu un compte sur https://gitlab.lsis.univ-tln.fr/, créer un projet, y déposer le projet de base créé par l'archetype maven quickstart. Ajouter simplement le fichier minimal suivant à la racine (Il indique l'image à utiliser et la commande).+
  
 <file | .gitlab-ci.yml> <file | .gitlab-ci.yml>
Ligne 69: Ligne 37:
  
 ==== Utilisation d'un repository privé pour la compilation ==== ==== Utilisation d'un repository privé pour la compilation ====
-Se connecter au repository privé (il faut un compte) et installer l'image Maven dans la VM :+Se connecter au repository privé (il faut un compte à demander à M. Bruno) et installer l'image Maven dans la VM :
 <cli> <cli>
 docker login docker.lsis.univ-tln.fr:443 docker login docker.lsis.univ-tln.fr:443
Ligne 99: Ligne 67:
 {{tag>D35 TP Docker }} {{tag>D35 TP Docker }}
  
----- dataentry page ---- 
-type                 : TP 
-enseignement_tags    : D35 
-technologie_tags     : Docker 
-theme_tags           : Composants 
-----  
 ---- struct data ---- ---- struct data ----
 +metadata.level       : 
 +metadata.Type        : TP
 +metadata.Nom         : 
 +metadata.Enseignements : D35
 +metadata.Promotions  : M2
 +metadata.Technologies : Docker
 +metadata.Thèmes     : devops
 +metadata.Description : 
 ---- ----