Docker.md 2,65 ko
Newer Older
dm091610's avatar
dm091610 a validé
# Installation de Docker & Docker-compose

## Docker
Kerroumi's avatar
Kerroumi a validé

dm091610's avatar
dm091610 a validé
Docker est un logiciel libre qui permet d'automatiser la gestion d'application dans un conteneur.  
io163312's avatar
io163312 a validé
Pour installer Docker nous allons ajouter la clé publique ssh du dépôt  docker par la commande :
dm091610's avatar
dm091610 a validé

Kerroumi's avatar
Kerroumi a validé
     curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

io163312's avatar
io163312 a validé
Après nous allons vérifier la clé obtenu par cette commande :
Kerroumi's avatar
Kerroumi a validé

     sudo apt-key fingerprint 0EBFCD88
io163312's avatar
io163312 a validé
     
 ![key](img/key.png)
     
Kerroumi's avatar
Kerroumi a validé

io163312's avatar
io163312 a validé
Ensuite on ajoute docker à la liste de notre dépôt  :
Kerroumi's avatar
Kerroumi a validé

    sudo add-apt-repository    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
Kerroumi's avatar
Kerroumi a validé
                 $(lsb_release -cs) \     
                stable
Kerroumi's avatar
Kerroumi a validé
            
io163312's avatar
io163312 a validé
On le met à jour par cette commande : 
dm091610's avatar
dm091610 a validé

Kerroumi's avatar
Kerroumi a validé
    sudo apt-get update
io163312's avatar
io163312 a validé
   ![UPDATE](img/UPDATE.png)
io163312's avatar
io163312 a validé

io163312's avatar
io163312 a validé
Et enfin on installe le package docker -ce :
io163312's avatar
io163312 a validé

Kerroumi's avatar
Kerroumi a validé
    sudo apt-get install docker -ce
io163312's avatar
io163312 a validé
![DOCKER](img/DOCKER.png)
Kerroumi's avatar
Kerroumi a validé

io163312's avatar
io163312 a validé
Une fois la création du conteneur est faite, on crée le volume :  et on installe le docker_compose qui va servir a liée deux images :
Kerroumi's avatar
Kerroumi a validé

    sudo docker volume create --name jenkins_data
    
io163312's avatar
io163312 a validé
Pour afficher le volume : 
Kerroumi's avatar
Kerroumi a validé

    sudo docker volume ls 
dm091610's avatar
dm091610 a validé

## Docker-compose

Kerroumi's avatar
Kerroumi a validé
---Installer Compose sur les systèmes Linux ---

On exécute 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

Kerroumi's avatar
Kerroumi a validé
 ![installation1](img/installation.png)
Kerroumi's avatar
Kerroumi a validé

Kerroumi's avatar
Kerroumi a validé
On applique des autorisations exécutables au binaire avec la commande : 

        sudo chmod +x /usr/local/bin/docker-compose
Kerroumi's avatar
Kerroumi a validé
    
Kerroumi's avatar
Kerroumi a validé
 ![auto](img/autorisation.png)
Kerroumi's avatar
Kerroumi a validé

On teste l'installation avec la commande :

        docker-compose --version
Kerroumi's avatar
Kerroumi a validé
        
![version](img/version.png)
Kerroumi's avatar
Kerroumi a validé

On crée un fichier appelé "docker-compose.yml" dans notre répertoire de projet :

        version: '3'
        services:
          web:
            build: .
            ports:
             - "8080:8080"
          redis:
            image: "debian"

Kerroumi's avatar
Kerroumi a validé

Kerroumi's avatar
Kerroumi a validé
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 exposé 8080 sur le conteneur au port 8080 sur la machine hôte.
Le "redis" service utilise une image "Redis" publique extraite du registre de Docker Hub.(Dans notre projet c'est "debian")
Kerroumi's avatar
Kerroumi a validé


Kerroumi's avatar
Kerroumi a validé
À partir du répertoire de notre projet, on démarre notre application en exécutant : 

    docker-compose up

Kerroumi's avatar
Kerroumi a validé
![compose](img/compose-up.png)
Kerroumi's avatar
Kerroumi a validé


dm091610's avatar
dm091610 a validé
Section suivante → [Installation de Jenkins] (https://www-apps.univ-lehavre.fr/forge/dm091610/Toturiel_Docker_Jenkins/edit/master/src/Jenkins.md)