Voici une liste non exhaustive des commandes les plus courantes pour la version 1.12 et 1.13.
En reprenant exemple de ce simple conteneur, il est possible de :
docker stop web
docker start web
docker rm web
docker logs web docker logs -f web
docker reload web
docker top web
docker inspect web
docker inspect web
docker exec web du -h -d1
docker exec -it dockercompose_bdd_1 bash
docker network connect mon_reseau_perso web
docker network disconnect mon_reseau_perso web
Admettons que nous utilisons l'image nginx, il est possible de :
docker pull nginx
docker inspect nginx
docker history nginx
docker search nginx
docker rmi nginx
docker save nginx > site.tar.gz
docker image load < site.tar.gz
Admettons que nous avons un serveur (192.168.1.230) dont il partage le dossier “partage” via NFS. On verra alors :
docker volume create --driver local --opt type=nfs --opt o=addr=192.168.1.230,rw --opt device=:/partage --name root
# Pout un conteneur : docker run -itd --name nfs -v root:/mnt/ debian:jessie-slim # Pour un service (il faudra déclarer le volume sur tous les nodes explicitement!): docker service create --mount type=volume,source=root,target=/var/www/html -p 80:80 eboraas/apache-php # Sur le serveur faire ceci pour voir les connexions en cours lors d'un scale de service : netstat -an | grep 2049 # Mais ne fonctionne pas pour : docker service create --mount type=volume,volume-opt=o=addr=192.168.1.230,volume-opt=device=/partage,volume-opt=type=nfs,source=vol_nfs,target=/var/www/html --name nfs eboraas/apache-php
A effectuer lorsque l'on obtient ce type d'erreur : “no space left on device”
docker volume rm prune
voici ce que ça peut donner si on déclare un volume dans un docker-file (nfs est expérimental) :
services: site: image: une_image volumes: - nfs:/var/www/html volumes: nfs: driver: local driver_opts: type: nfs o: addr=192.168.1.230,rw device: ":/partage" ? https://docs.docker.com/compose/compose-file/#/external
Bien entendu les réseaux sont eux aussi très personnalisable! Jusqu'aux VLans paraît-il.
Ainsi il est possible de faire :
ip addr add 10.12.0.117/21 dev br1
docker run -d --name web -p 10.12.0.117:80:80 nginx
docker system df
docker system prune
Il reste encore plein d'autres découvrir! :)