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
$ 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
$ 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
$ 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
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:
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:
$ dockviz --help
Usage:
dockviz [OPTIONS] <containers | help | images>
[...]
$ dockviz images --help
Usage:
dockviz [OPTIONS] images [images-OPTIONS]
[...]
- arbre des images:
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:
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
dockviz images --dot -l | dot -Tpng > docker-images-named.png
- ... ou à l'écran (X11)
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:
$ 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:
$ 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
$ 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
:
core:
build: .
ports:
- "8006:80"
restart: always
- redémmarer le conteneur:
$ docker-compose up -d
Recreating pmwiki_core_1...
- et voir le résultat
$ docker inspect -f "{{ .HostConfig.RestartPolicy }}" rainloop_core_1
{always 0}
Connexion à un conteneur
- se connecter à un conteneur avec
docker exec -ti <nom du conteneur>
- se déconnecter avec
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
docker rmi $(docker images | grep "^<none>" | awk '{print $3}')
supprimer les conteneurs en status Exited ou Created
docker rm $(docker ps -a | egrep 'Exit|Created' | awk '{print $1}')
Voir aussi