Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
docker:tips [2017/07/13 11:41] william créée |
docker:tips [2021/03/04 10:05] (Version actuelle) william |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | Installation docker : | + | ====== Docker et DockerCompose ====== |
- | <code bash> | + | |
- | wget -qO- https:// | + | |
- | < | + | |
- | Installation docker-compose | + | ===== Installation |
- | <code bash> | + | |
- | wget -O /usr/local/bin/ | + | ==== 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 **/local/docker/** | ||
+ | * Ajout du volume : ( Voir [[systemes/ | ||
+ | mkdir / | ||
+ | vim /etc/fstab | ||
+ | / | ||
+ | |||
+ | mount -a | ||
+ | </ | ||
+ | |||
+ | * Installation de docker | ||
+ | yum install docker | ||
+ | </ | ||
+ | |||
+ | ==== Centos 8 ==== | ||
+ | |||
+ | 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' | ||
+ | |||
+ | |||
+ | * Installation de docker : <code bash> | ||
+ | # on ajoute le repo officiel | ||
+ | dnf config-manager --add-repo=https: | ||
+ | dnf install docker-ce | ||
+ | |||
+ | # le probleme de dépendance est corrigé en docker 19 | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Configuration et activation du service ==== | ||
+ | |||
+ | * 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 **/local/docker** | ||
+ | * Ajout du volume : ( Voir [[systemes/ | ||
+ | mkdir /var/lib/docker | ||
+ | vim /etc/fstab | ||
+ | / | ||
+ | |||
+ | mount -a | ||
+ | </ | ||
+ | |||
+ | * Configuration de docker | ||
+ | mkdir / | ||
+ | mkdir / | ||
+ | vim / | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | [ | ||
+ | | ||
+ | ], | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | * 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 "https:// | ||
chmod +x / | chmod +x / | ||
- | < | + | </code> |
- | En vrac docker : | + | ==== Exemple de fichier |
- | <code bash> | + | |
- | docker search nomdelimage | + | |
- | docker pull docker.io/ | + | |
- | docker images | + | |
- | docker run | + | |
- | docker ps -a | + | |
- | # redémarrer un container | + | |
- | docker run xxxxx | + | |
- | < | + | |
- | En vrac docker-compose : | + | * Exemple avec un système sharelatex simplifier <file yaml / |
- | <code bash> | + | |
- | git clone nomdelaressource.git | + | version: ' |
- | # build & run | + | 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 exec -it dos bash | + | 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 | ||
+ | docker-compose exec sharelatex ls /etc/ | ||
+ | docker-compose exec sharelatex /bin/bash | ||
+ | </code> | ||
+ | |||
+ | ===== Problèmes connu ===== | ||
+ | |||
+ | |||
+ | ==== Utiliser docker-compose dans un cron ==== | ||
+ | |||
+ | Il faut utiliser **" | ||
+ | .... | ||
+ | / | ||
+ | |||
+ | </ |