IMPORTANT : veuillez vous reporter au chapitre 3 pour installer le dépôt de code dans votre machine virtuelle vagrant. Les répertoires comme
/application-exemple/se trouve dans le répertoire/vagrant/docker-exemples-edition3-code. Le code pour ce chapitre se trouve donc dans/vagrant/docker-exemples-edition3-code/chapitre8.
- 1- Commandes du chapitre
- 2- Liens (dans l'ordre d'apparition dans le chapitre)
IMPORTANT : Les scripts utilisés dans ce chapitre se trouvent dans le répertoire
/vagrant/docker-exemples-edition3-code/chapitre8/network.
docker network ls
Pour exécuter le script suivant vous devez vous placer dans le répertoire /vagrant/docker-exemples-edition3-code/chapitre8/network
./bridge_network/run_bridge_network.sh
docker network inspect bridge
Interface veth:
ifconfig docker0
sudo ip address show master docker0
Pensez à noter le numéro de processus:
docker inspect -f '{{.State.Pid}}' centos-test-1
Pensez à remplacer 2575 par le numéro de processus noté précédemment:
sudo nsenter -t 2575 -n ip addr show type veth
Communication entre conteneurs via le bridge par défaut:
docker exec -ti centos-test-1 /bin/bash
L'instruction ci-dessus ouvre un terminal à l'intérieur du conteneur.
yum install -y nmap
nc -l 5000
ATTENTION : pour ouvrir un autre terminal vous devez revenir sur votre hôte (celui sur lequel est exécuté la machine virtuelle) et lancer la commande
vagrant ssh.
./bridge_network/clean_bridge_network.sh
./dedicated_network/run_dedicated_network.sh
docker network ls
docker network inspect test --format '{{.Containers}}'
docker network inspect bridge --format '{{.Containers}}'
docker exec -ti busybox-1 /bin/sh
docker network connect bridge busybox-1
docker exec -ti busybox-1 /bin/sh
./dedicated_network/clean_dedicated_network.sh
Transfert des paquets IP:
sysctl net.ipv4.conf.all.forwarding
Accès aux réseaux extérieurs:
sudo iptables -t nat -L -n
Accès à l’hôte depuis un conteneur : l’option « host »:
./host_network/run_host_network.sh
docker exec -ti centos-test /bin/bash
yum install -y nmap
nc -l 5000
ATTENTION : pour ouvrir un autre terminal vous devez revenir sur votre hôte (celui sur lequel est exécuté la machine virtuelle) et lancer la commande
vagrant ssh.
netstat -vatn | grep 5000
./host_network/clean_host_network.sh
Accès à l’hôte depuis un conteneur : l’option « gateway »:
./access_host/run_access_host.sh
ERRATUM : Dans le livre cette commande fait référence à une image nommée
centos-hostalors que le bon nom estcentos-test.
docker exec -ti centos-test /bin/bash
yum install -y net-tools nmap openssh-clients
echo $(route -n | awk '/UG[ \t]/{print $2}')
./access_host/clean_access_host.sh
Bind mount, rappel:
docker system prune -f
docker run --rm -ti --name=centos-test -v ${PWD}:/opt/test centos:7
docker volume ls
Volume nommé:
docker volume create volume-test
docker volume ls
docker run --rm -ti --name=centos-test -v volume-test:/opt/test centos:7
ls -la /opt/test/
docker run --rm -ti --name=centos-test -v volume-test:/var centos:7
ls /var/
docker run --rm -ti --name=centos-test -v volume-test:/opt/test centos:7
ls /opt/test
ATTENTION : comme indiqué dans le livre vous devez ouvrir un second terminal en utilisant la commande
vagrant ssh.
Premier conteneur:
docker run --rm -ti -v volume-test:/opt/test centos:7
watch -n 1 cat /opt/test/fichier.txt
Second conteneur:
docker run --rm -ti -v volume-test:/opt/test centos:7
echo -e "Heure du moment $(date)" >> /opt/test/fichier.txt
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
--privileged=true \
google/cadvisor:latest
https://spring.io/projects/spring-boot
https://www.dasblinkenlichten.com/using-cni-docker/
https://github.com/containernetworking/plugins
https://github.com/flannel-io/flannel#flannel
https://www.tigera.io/tigera-products/calico/
https://galeracluster.com/library/documentation/docker.html
https://www.mongodb.com/compatibility/docker
https://www.elastic.co/logstash/
https://cloud.spring.io/spring-cloud-config/ (redirigé vers https://cloud.spring.io/spring-cloud-config/reference/html/)