Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
docker:tips [2017/07/13 11:43] william |
docker:tips [2021/03/04 10:05] (Version actuelle) william |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Docker | + | ====== Docker |
- | ===== Introduction | + | ===== Installation et configuration de Docker |
- | * Liste des commandes memo pour docker | + | ==== Centos 7 ==== |
+ | * Ajout d'une partition | ||
+ | * Les images et containers pouvant être volumineux, on ajoute un volume logique à la machine de **10go** et on le monte dans **/ | ||
+ | * Ajout du volume : ( Voir [[systemes/ | ||
+ | mkdir / | ||
+ | vim / | ||
+ | / | ||
- | ===== Installation docker ===== | + | mount -a |
+ | </ | ||
- | <code bash> | + | * Installation de docker : <code bash> |
- | wget -qO- https:// | + | yum install |
</ | </ | ||
- | ===== Installation docker-compose ===== | + | ==== Centos 8 ==== |
- | <code bash> | + | |
- | wget -O / | + | La version de containerd.io n'est pas la bonne pour docker sur Centos8. On va utiliser une version précédente de Docker au lieu de forcer l' |
- | chmod +x / | + | |
+ | |||
+ | * Installation de docker : <code bash> | ||
+ | # on ajoute le repo officiel | ||
+ | dnf config-manager | ||
+ | dnf install | ||
+ | |||
+ | # le probleme de dépendance est corrigé en docker | ||
</ | </ | ||
- | ===== Commandes docker ===== | + | |
- | <code bash> | + | |
- | docker | + | ==== Configuration et activation du service |
- | docker pull docker.io/nomdelimage | + | |
- | docker | + | * Ajout d'une partition |
- | docker run | + | * Les images et containers pouvant être volumineux, on ajoute un volume logique à la machine de **10go** et on le monte dans **/ |
- | docker ps -a | + | * Ajout du volume : ( Voir [[systemes/ |
- | # redémarrer un container | + | mkdir /var/lib/docker |
- | docker run xxxxx | + | vim /etc/ |
+ | / | ||
+ | |||
+ | mount -a | ||
</ | </ | ||
- | ===== Commandes | + | * Configuration de docker |
- | En vrac docker-compose : | + | mkdir / |
- | <code bash> | + | mkdir / |
- | git clone nomdelaressource.git | + | vim / |
- | # build & run | + | { |
+ | " | ||
+ | " | ||
+ | [ | ||
+ | | ||
+ | ], | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | * Activation du service : <code bash> | ||
+ | systemctl enable docker --now | ||
+ | </ | ||
+ | |||
+ | ===== Installation et utilisation de Docker Compose ===== | ||
+ | |||
+ | * **DockerCompose** est un gestionnaire de container qui s' | ||
+ | * Installation : < | ||
+ | curl -L " | ||
+ | chmod +x / | ||
+ | </ | ||
+ | |||
+ | ==== Exemple de fichier docker-compose.yml | ||
+ | |||
+ | * Exemple avec un système sharelatex simplifier <file yaml / | ||
+ | |||
+ | version: ' | ||
+ | services: | ||
+ | sharelatex: | ||
+ | restart: always | ||
+ | image: sharelatex/ | ||
+ | container_name: | ||
+ | depends_on: | ||
+ | redis: | ||
+ | condition: service_started | ||
+ | mongo: | ||
+ | condition: service_healthy | ||
+ | privileged: true | ||
+ | ports: | ||
+ | - 5000:80 | ||
+ | links: | ||
+ | - redis | ||
+ | - mongo | ||
+ | volumes: | ||
+ | - / | ||
+ | - / | ||
+ | - / | ||
+ | environment: | ||
+ | SHARELATEX_APP_NAME: | ||
+ | SHARELATEX_MONGO_URL: | ||
+ | |||
+ | mongo: | ||
+ | restart: always | ||
+ | image: mongo | ||
+ | container_name: | ||
+ | expose: | ||
+ | - 27017 | ||
+ | volumes: | ||
+ | - ~/ | ||
+ | healthcheck: | ||
+ | test: echo ' | ||
+ | interval: 10s | ||
+ | timeout: 10s | ||
+ | retries: 5 | ||
+ | |||
+ | redis: | ||
+ | restart: always | ||
+ | image: redis | ||
+ | container_name: | ||
+ | expose: | ||
+ | - 6379 | ||
+ | volumes: | ||
+ | - ~/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Execution de docker-compose.yml ==== | ||
+ | |||
+ | * Démarrage/ | ||
+ | |||
+ | cd / | ||
+ | |||
+ | # On crée notre fichier | ||
+ | vim docker-compose.yml | ||
+ | |||
+ | # creer un container et démarre un container en mode logs | ||
docker-compose up | docker-compose up | ||
- | # si on a changer une dep ! | + | # creer un container et démarre un container en mode daemon |
- | docker-compose up --build | + | docker-compose up -d |
- | # entrer | + | # stop |
- | docker | + | docker-compose down |
+ | # redemarre un container ( il ne relis pas le docker compose et donc ne modifie pas les variables | ||
+ | docker-compose start | ||
+ | docker-compose stop | ||
+ | docker-compose restart | ||
</ | </ | ||
+ | |||
+ | * Executer des commandes dans le container <code bash> | ||
+ | docker-compose exec nomduservice nomdelacommande | ||
+ | docker-compose exec sharelatex ls /etc/ | ||
+ | docker-compose exec sharelatex /bin/bash | ||
+ | </ | ||
+ | |||
+ | ===== Problèmes connu ===== | ||
+ | |||
+ | |||
+ | ==== Utiliser docker-compose dans un cron ==== | ||
+ | |||
+ | Il faut utiliser **" | ||
+ | .... | ||
+ | / | ||
+ | |||
+ | </ | ||
+ |