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