Changements récents - Rechercher:

Espace Wiki ∂'Alembert
Documentation générale


Espace Guide de survie du SysAdmin
Documentation technique


Espace Guide de survie du Développeur
Pour les développeurs


Espace Institut ∂’Alembert
L'institut


Le Site
À propos du Site
Liste complète des Pages


Aide PmWikiFr

Help PmWiki

GSSA /

Docker - Utilisation

Page mise à jour le 20/09/2016 14:00

Vous êtes dans un espace restreint en écriture.

<< Docker Compose + Docker Registry | Docker | Docker - Création d'Images >>

docker est une commande permettant de gérer les conteneurs.

Information de bases

  • version:

(:source:) $ docker version Client: Version: 1.8.2 API version: 1.20 Go version: go1.4.2 Git commit: 0a8c2e3 Built: Thu Sep 10 19:19:00 UTC 2015 OS/Arch: linux/amd64 Server: Version: 1.8.2 API version: 1.20 Go version: go1.4.2 Git commit: 0a8c2e3 Built: Thu Sep 10 19:19:00 UTC 2015 OS/Arch: linux/amd64

  • liste des images:

(:source:) $ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE rainloop_core latest 5c0959a4031b 5 hours ago 518.9 MB pmwiki_core latest ec2bbba1d18a 25 hours ago 366.9 MB nginx 1.6.2 1744aaf6efdc 25 hours ago 323.9 MB nginx latest 1744aaf6efdc 25 hours ago 323.9 MB nginx-php5-ldap latest b20cdfe20707 26 hours ago 366.9 MB jessie latest f447092c1e85 2 days ago 210.7 MB wheezy latest ee75885d1bdf 2 days ago 164.3 MB

  • liste des conteneurs:

(:source:) $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6086e765014e rainloop_core "/run.sh" 5 hours ago Up 5 hours 0.0.0.0:8006->80/tcp rainloop_core_1 6cb5897d4265 pmwiki_core "/run.sh" 25 hours ago Up 25 hours 0.0.0.0:8003->80/tcp pmwiki_core_1 7153caf8eeb4 registry:2 "/bin/registry /etc/d" 4 weeks ago Up 4 weeks 0.0.0.0:5000->5000/tcp registry_registry_1

  • aide en ligne

(:source:) $ docker help

Arbres des images : dockviz

Avant la version ??, il existait la commande docker images --tree permettant de voir l'arbre de dépendance des images. Cette option a disparu. Pour la remplacer il existe maintenant une commande, sous forme d'image docker, suivante: docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock nate/dockviz[1]

Pour l'utiliser aisément, je crée un alias bash: (:source:)alias dockviz='docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock nate/dockviz' Puis, il suffit de s'en servir comme une commande classique: (:source:)$ dockviz --help Usage: dockviz [OPTIONS] <containers | help | images> [...] $ dockviz images --help Usage: dockviz [OPTIONS] images [images-OPTIONS] [...]

  • arbre des images: (:source:)dockviz images -t dockviz images -t ├─c036ca3f31a9 Virtual Size: 6.1 MB │ └─e5a44dfb4516 Virtual Size: 6.1 MB │ └─8ad20030017b Virtual Size: 6.1 MB Tags: nate/dockviz:latest ├─7245b8b1fc96 Virtual Size: 226.2 MB Tags: debootstrap/wheezy:2015-11-02, debootstrap/wheezy:latest ├─c0567d787977 Virtual Size: 164.3 MB Tags: debootstrap/wheezy-minbase:latest, debootstrap/wheezy-minbase:2015-10-27 │ └─60849ee7b4c2 Virtual Size: 164.3 MB │ └─e2701116cfd4 Virtual Size: 164.3 MB │ └─5aa02cfc0f0b Virtual Size: 164.3 MB Tags: wheezy:2015-11-02, wheezy:latest, wheezy-minbase:2015-10-27, wheezy-minbase:latest │ ├─9e16b8ae31ed Virtual Size: 329.9 MB [...]
  • arbre des images nommées: (:source:)dockviz images -tl ├─c036ca3f31a9 Virtual Size: 6.1 MB │ └─8ad20030017b Virtual Size: 6.1 MB Tags: nate/dockviz:latest ├─7245b8b1fc96 Virtual Size: 226.2 MB Tags: debootstrap/wheezy:latest, debootstrap/wheezy:2015-11-02 ├─c0567d787977 Virtual Size: 164.3 MB Tags: debootstrap/wheezy-minbase:latest, debootstrap/wheezy-minbase:2015-10-27 │ └─5aa02cfc0f0b Virtual Size: 164.3 MB Tags: wheezy:2015-11-02, wheezy:latest, wheezy-minbase:2015-10-27, wheezy-minbase:latest │ ├─301d797b2063 Virtual Size: 329.9 MB Tags: apache2:2.2.22, apache2:latest │ └─4b36089d48bf Virtual Size: 338.7 MB │ ├─42e554fa6321 Virtual Size: 338.7 MB Tags: nginx:1.6.2, nginx:latest │ │ ├─c908ac5498ee Virtual Size: 603.6 MB Tags: munin:2.0.19, munin:latest │ │ │ └─230cf494a5d2 Virtual Size: 603.6 MB Tags: muninserver_core:latest │ │ └─db444e7879d7 Virtual Size: 381.7 MB Tags: nginx-php5-ldap:1.6.2_5.4.4, nginx-php5-ldap:latest │ │ └─08713a6e7e1d Virtual Size: 587.1 MB Tags: rainloop_core:latest │ └─a99010e7a278 Virtual Size: 338.7 MB │ ├─a9fa565721c2 Virtual Size: 338.7 MB │ │ ├─24def109b021 Virtual Size: 548.7 MB │ │ │ └─5fee803390d1 Virtual Size: 603.6 MB │ │ └─bd259a35075c Virtual Size: 513.8 MB │ │ ├─f0ea3946576c Virtual Size: 513.8 MB │ │ │ └─687eaf5b09e5 Virtual Size: 513.8 MB │ │ │ └─70ce80a7cb71 Virtual Size: 513.8 MB │ │ └─29f9803b4da2 Virtual Size: 513.8 MB │ │ └─13cda998eb59 Virtual Size: 513.8 MB │ └─fd53ca9c1df5 Virtual Size: 381.7 MB Tags: pmwiki_core:latest ├─20f52d06d206 Virtual Size: 226.2 MB Tags: debootstrap/wheezy:2015-10-27 ├─d576075bcbde Virtual Size: 210.7 MB Tags: debootstrap/jessie-minbase:2015-10-20 │ └─f447092c1e85 Virtual Size: 210.7 MB Tags: jessie:latest, jessie-minbase:2015-10-20 ├─c06dd82849b9 Virtual Size: 164.3 MB Tags: debootstrap/wheezy-minbase:2015-10-20 │ └─ee75885d1bdf Virtual Size: 164.3 MB Tags: wheezy-minbase:2015-10-20 │ └─b20cdfe20707 Virtual Size: 366.9 MB │ └─ec2bbba1d18a Virtual Size: 366.9 MB Tags: pmwiki_wiki:latest ├─4b24b552d4ed Virtual Size: 282.8 MB Tags: debootstrap/jessie:2015-10-20 ├─48e180393688 Virtual Size: 226.2 MB Tags: debootstrap/wheezy:2015-10-20 ├─d3a1f33e8a5a Virtual Size: 188.2 MB │ └─1e847b14150e Virtual Size: 220.6 MB Tags: localhost:5000/registry:2, registry:2 ├─68b064f781f5 Virtual Size: 0.0 B │ └─c0e56eeefd42 Virtual Size: 22.8 MB Tags: google/cadvisor:latest └─1d712d0b2b7a Virtual Size: 0.0 B └─6245e5b140dc Virtual Size: 4.8 MB Tags: progrium/busybox:latest └─fc90681ef401 Virtual Size: 7.9 MB Tags: bb-nginx:1.6.2, bb-nginx:latest
  • arbre des images nommées ou pas avec dot ...
    • ... dans un fichier (:source:)dockviz images --dot -l | dot -Tpng > docker-images-named.png
    • ... ou à l'écran (X11) (:source:)dockviz images --dot -l | dot -Tx11

arbre des images

arbre des images nommées


Lancement d'un conteneur

  • lancement du shell dans un conteneur, en mode interactif:

(:source:) $ docker run -t -i --rm debootstrap/wheezy /bin/bash Avec les options:

 -t : allouer un ``TTY``
 -i : ouvrir ``stdin``
 --rm : detruire le conteneur à la fin de l'execution 

et le paramètres:

 debootstrap/wheezy : nom de l'image de base
 /bin/bash : binaire démarré dans l'image
  • lancement d'un conteneur, en tache de fond:

(:source:) $ docker run -d debootstrap/wheezy [ /path/to/init ] Avec les options:

 -d : lancement en mode détaché (*background*)

Lancement automatique de conteneurs

Par défaut, les conteneurs ne sont pas démarré au lancement de Docker.

Pour voir cela, il faut faire un (:source:) $ docker inspect rainloop_core_1 [...] "RestartPolicy": { "Name": "", "MaximumRetryCount": 0 }, [...] $ docker inspect -f "{{ .HostConfig.RestartPolicy }}" rainloop_core_1 { 0}

Pour activer le re-démarrage automatique, il faut

  • ajouter dans docker-compose.yml le champs restart:(:source lang=yaml:) core: build: . ports: - "8006:80" restart: always
  • redémmarer le conteneur:(:source:)$ docker-compose up -d Recreating pmwiki_core_1...
  • et voir le résultat (:source:)$ docker inspect -f "{{ .HostConfig.RestartPolicy }}" rainloop_core_1 {always 0}

Connexion à un conteneur

  • se connecter à un conteneur avec (:source:) docker exec -ti <nom du conteneur>
  • se déconnecter avec (:source:)exit

la commande docker attach est très complexe à maîtriser [2] [3] et en gros detruit le stdin après usage.

Trucs et Astuces

supprimer les images non taggées

(:source:)docker rmi $(docker images | grep "^<none>" | awk '{print $3}')

supprimer les conteneurs en status Exited ou Created

(:source:)docker rm $(docker ps -a | egrep 'Exit|Created' | awk '{print $1}')

Voir aussi

À propos du site • Licence Creative Commons • Cooked with love in 2014-2023 by pcht
Page mise à jour le 20/09/2016 14:00