https://docs.docker.com/engine/reference/commandline/docker/
docker image ls
docker container ls
docker container ls --all
docker container stop ID_IMAGE
docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm
Script d'installation de Docker : https://github.com/docker/docker-install/blob/master/install.sh
Pour un user sans authentification sur Docker hub, il y a un plafond glissant de 100 pulls toutes les 6h et par IP. Il est possible de connaître le quota de pulls restant :
TOKEN=$(curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token) curl --head -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest
https://docs.docker.com/docker-hub/download-rate-limit/#how-can-i-check-my-current-rate
docker exec -ti nom_du_container_ou_ID bash
docker cp fichier/dossier nom_container:repertoire/container
docker system df -v
Option 1 : se connecter dans le container et relancer avec systemctl
Option 2 :
apt-get update && apt-get install procps
kill -USR2 PID_SERVICE
Lors de son déploiement, Docker met en place des règles Iptables pour aiguiller le trafic qui lui est destiné. Ces règles passent par la table FORWARD sans passer la table FILTER. Donc cela court-circuite les éventuels filtres mis en place.
Il est donc essentiel de limiter le bind des container à 127.0.0.1 pour éviter qu'ils ne soient accessibles publiquement.
Il est possible également de modifier les règles Iptables de Docker pour interdire le trafic ne venant pas de telle ou telle adresse. RTFM ⇒ https://docs.docker.com/network/packet-filtering-firewalls/#restrict-connections-to-the-docker-host
Commandes de base : https://docs.docker.com/compose/reference/
Docker file v3 : https://docs.docker.com/compose/compose-file/
Les containers sont comme des mini VM à part entière. Leur mise en réseau se fait via DHCP. Ils peuvent être connectés entre eux via DNS interne. Par exemple, pour lier un container Nginx et un container PHP, mettre dans le vhost.conf en location php “fastcgi_pass php:9000”
Lancer docker-compose et faire afficher le code de retour d'un service :
docker-compose up --exit-code-from SERVICE