Newer
Older
Dans cette partie nous allons expliquer comment nous avons procéder pour l'installation de Docker et Docker_compose.
Cette installation s'est faite sur Ubuntu à partir du terminal.
Docker est un logiciel libre qui permet d'automatiser la gestion d'applications dans un conteneur.
Pour installer Docker nous allons ajouter la clé publique SSH du dépôt Docker par la commande :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Puis, nous allons vérifier la clé obtenue par cette commande :
Ensuite nous allons ajouter Docker à la liste de notre dépôt :
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
Une fois la création du conteneur faite, nous créons le volume puis nous installons le Docker_compose qui servira à lier deux images.
D'abord, il faut exécuter cette commande pour télécharger la dernière version de Docker-compose :
sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Ensuite, nous appliquons des autorisations pour les exécutables avec la commande :
Enfin, nous vérifions si l'installation s'est effectuée correctement en demandant la version de Docker_compose avec la commande :
Maintenant, nous allons créer un fichier appelé "docker-compose.yml" dans notre répertoire de projet :
version: '3'
services:
web:
build: .
ports:
- "8080:8080"
redis:
image: "debian"
Ce fichier Compose définit deux services, "web" et "redis" :
* Le "web" service utilise une image construite à partir de "Dockerfile" dans le répertoire actuel.
On transfére le port expose 8080 sur le conteneur au port 8080 de la machine hôte.
* Le "redis" service utilise une image "Redis" publique extraite du registre de Docker Hub.(Dans notre projet c'est "debian")
À partir du répertoire de notre projet, nous démarrons notre application en exécutant :
Section suivante → [Installation de Jenkins] (https://www-apps.univ-lehavre.fr/forge/dm091610/Toturiel_Docker_Jenkins/edit/master/src/Jenkins.md)