J'ai une configuration d'essaim docker multi-nœuds avec les interfaces suivantes :
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:8d:c0:4d brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic eth0
valid_lft 47333sec preferred_lft 47333sec
inet6 fe80::a00:27ff:fe8d:c04d/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:fe:3f:4d brd ff:ff:ff:ff:ff:ff
inet 10.0.1.2/24 brd 10.0.1.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fefe:3f4d/64 scope link
valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:94:ee:64:8f brd ff:ff:ff:ff:ff:ff
inet 10.0.1.2/24 brd 10.0.1.255 scope global docker0
valid_lft forever preferred_lft forever
9: docker_gwbridge: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:12:4b:f2:fa brd ff:ff:ff:ff:ff:ff
inet 172.18.0.1/16 brd 172.18.255.255 scope global docker_gwbridge
valid_lft forever preferred_lft forever
inet6 fe80::42:12ff:fe4b:f2fa/64 scope link
valid_lft forever preferred_lft forever
Lors du démarrage de la pile de conteneurs la plus simple docker swarm deploy -c simple.yml simple
version: "3.7"
services:
whoami:
image: traefik/whoami
ports:
- 80:80
Le conteneur est placé et le service est lié à 0.0.0.0
. Ce n'est pas vraiment l'idéal. Le mieux serait que le conteneur se lie à l'objet eth1=10.0.1.2/24
interface. Idéalement, il faudrait aussi lo
- mais ce serait juste la cerise sur le gâteau.
Ce que j'ai essayé, c'est de démarrer les instances docker avec leurs IP respectives depuis le réseau.
--ip ip IP par défaut lors de la liaison des ports de conteneurs (par défaut 0.0.0.0)
Ainsi, sur la base les docs par exemple : dockerd --ip 10.0.1.2
. Malheureusement, cela ne semble pas changer grand-chose.
J'utilise Docker version 20.10.4, build d3cb89e
.
Des conseils sur ce que je pourrais manquer ?