docker:docker
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| docker:docker [2018/08/02 11:00] – créée ronan | docker:docker [2019/01/10 15:51] (Version actuelle) – rguyader | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| **Toutes les commandes sont a exécuter en root.** | **Toutes les commandes sont a exécuter en root.** | ||
| - | + | <code bash> | |
| - | # apt-get install docker docker.io | + | apt-get install docker docker.io |
| + | </ | ||
| * image : paquet léger d'un exécutable (code, librairies, variables d' | * image : paquet léger d'un exécutable (code, librairies, variables d' | ||
| * container : instance d'une image | * container : instance d'une image | ||
| Ligne 18: | Ligne 18: | ||
| Définititon des images portables = Dockerfile = définition des appli + dépendances + config | Définititon des images portables = Dockerfile = définition des appli + dépendances + config | ||
| - | + | <code bash> | |
| - | # vi Dockerfile | + | vi Dockerfile |
| + | </ | ||
| docker build -t <tag> . | docker build -t <tag> . | ||
| docker images | docker images | ||
| Ligne 31: | Ligne 31: | ||
| Run the app, mapping your machine’s port 4000 to the container’s EXPOSEd port 80 using -p:\\ | Run the app, mapping your machine’s port 4000 to the container’s EXPOSEd port 80 using -p:\\ | ||
| Met en évidence la différence entre Publish et Expose | Met en évidence la différence entre Publish et Expose | ||
| - | + | <code bash> | |
| - | # docker run -p 4000:80 friendlyhello | + | docker run -p 4000:80 friendlyhello |
| - | # docker ps | + | docker ps |
| + | </ | ||
| * registery = ensemble de repositories | * registery = ensemble de repositories | ||
| * repository = ensemble d' | * repository = ensemble d' | ||
| * Il y a un docker public registery (la CLI docker l' | * Il y a un docker public registery (la CLI docker l' | ||
| - | + | <code bash> | |
| - | # | + | docker login |
| + | </ | ||
| docker tag IMAGE[:TAG] IMAGE[:TAG] | docker tag IMAGE[:TAG] IMAGE[:TAG] | ||
| docker tag friendlyhello liberasys/ | docker tag friendlyhello liberasys/ | ||
| Ligne 48: | Ligne 49: | ||
| Déployer : | Déployer : | ||
| - | + | <code bash> | |
| - | # docker login | + | docker login |
| - | # | + | docker run liberasys/ |
| + | </ | ||
| ==== docker compose ==== | ==== docker compose ==== | ||
| Gère les services, fichier docker-compose.yml | Gère les services, fichier docker-compose.yml | ||
| - | + | <code bash> | |
| - | # | + | vi docker-compose-test.yml |
| - | + | docker swarm init | |
| - | # docker swarm init | + | docker swarm join --token SWMTKN-1-0hruyzw7aj659s82d4rzw2ypxh0ycxbj3lk2gpei7kkgjjwycc-ebkxd2ol5r8xospv7b0z9v3sm 163.172.126.100: |
| - | # | + | docker stack deploy -c docker-compose.yml <app name> |
| - | + | docker stack deploy -c docker-compose.yml getstartedlab | |
| - | # docker stack deploy -c docker-compose.yml <app name> | + | docker ps |
| - | + | docker stack ps getstartedlab | |
| - | # docker stack deploy -c docker-compose.yml getstartedlab | + | vi docker-compose-test.yml |
| - | # | + | docker stack deploy -c docker-compose.yml getstartedlab |
| - | # | + | docker stack ps getstartedlab |
| - | + | </ | |
| - | # vi docker-compose-test.yml, changer le nombre d' | + | |
| - | + | ||
| - | # docker stack deploy -c docker-compose.yml getstartedlab | + | |
| - | # | + | |
| Le nombre de containers est mis à jour, sans tout redémarrer ! | Le nombre de containers est mis à jour, sans tout redémarrer ! | ||
| ==== Fin du service ==== | ==== Fin du service ==== | ||
| - | + | <code bash> | |
| - | # | + | docker stack rm getstartedlab |
| + | </ | ||
| ==== Lister les noeuds swarm ==== | ==== Lister les noeuds swarm ==== | ||
| - | + | <code bash> | |
| - | # | + | docker node ls |
| + | </ | ||
| ==== terminer un swarm ==== | ==== terminer un swarm ==== | ||
| - | + | <code bash> | |
| - | # | + | docker swarm leave --force |
| + | </ | ||
| ==== jouer avec swarms ==== | ==== jouer avec swarms ==== | ||
| Il faut installer la machine binaire docker | Il faut installer la machine binaire docker | ||
| - | + | <code bash> | |
| - | # | + | apt-get install curl |
| - | # | + | curl -L https:// |
| - | # | + | chmod +x / |
| - | # | + | sudo cp / |
| - | # | + | docker-machine version |
| + | </ | ||
| ==== Installons des scripts sympatiques ==== | ==== Installons des scripts sympatiques ==== | ||
| - | + | <code bash> | |
| - | # cd /root | + | cd /root |
| - | # mkdir docker-machine-scripts | + | mkdir docker-machine-scripts |
| - | # | + | cd docker-machine-scripts |
| - | # | + | wget " |
| - | # wget " | + | wget " |
| - | # | + | wget " |
| - | # cd /root | + | cd /root |
| - | # echo " | + | echo " |
| - | # echo " | + | echo " |
| - | # echo " | + | echo " |
| - | # echo " | + | echo " |
| - | # source .bashrc | + | source .bashrc |
| + | </ | ||
| ==== Supprimer les machines docker ==== | ==== Supprimer les machines docker ==== | ||
| - | + | <code bash> | |
| - | # | + | docker-machine rm < |
| - | # | + | docker-machine rm -f $(docker-machine ls -q) |
| + | </ | ||
| * Les managers swarm seulement peuvent exécuter les commandes | * Les managers swarm seulement peuvent exécuter les commandes | ||
| * Les corkers sont des noeuds " | * Les corkers sont des noeuds " | ||
| - | + | <code bash> | |
| - | # docker swarm init # sur le premier noeud | + | docker swarm init # sur le premier noeud |
| - | # docker swarm joinn # sur les autres noeuds | + | docker swarm joinn # sur les autres noeuds |
| + | </ | ||
| ==== créer des VMs docker machine ==== | ==== créer des VMs docker machine ==== | ||
| - | + | <code bash> | |
| - | # | + | docker-machine create --driver virtualbox myvm1 |
| - | # | + | docker-machine create --driver virtualbox myvm2 |
| + | </ | ||
| https:// | https:// | ||
docker/docker.1533207618.txt.gz · Dernière modification : 2018/08/02 11:00 de ronan