Re, je modifie un peu le sujet et la solution vu que j'ai trouvé plus fonctionnel (100% des cas testés chez moi).
Pour ajouter un IPv4 statique à un container Docker il faut sur l'hôte créer un réseau macvlan dépendant de l'interface réseau principale pour attribuer des IP à des adresses MAC.
Pour avoir l'interface réseau principale de sa machine on fait un petit sudo ifconfig
et on trouve ensuite l'interface du genre eth0 ou enp2s0.
Quand on demande une IPv4 à son hébergeur il nous donne aussi sa gateway (chez lui), pour l'exemple ce sera 91.82.73.44.
Il communique aussi souvent le subnet ou il est à calculer tout seul. Par exemple, pour une IP du type 12.13.14.156, le subnet sera 12.13.14.0/24 puisque /24 permet d'avoir des IP allant jusqu'à .254, donc mon IP en .156 est bien dedans.
Et enfin il faut générer une adresse MAC pour cette IP (panel hébergeur), dans cet exemple je prends 24-FA-56-15-E0-A6.
Fort de toutes ces infos je peux donc créer ma nouvelle interface réseau Docker
docker network create -d macvlan -o macvlan_mode=bridge --subnet=12.13.14.0/24 --gateway=91.82.73.44 -o parent=enp2s0 pontmacvlan
Vous verrez ensuite via Docker (docker network ls) ou Portainer (/#/networks) une interface "pontmacvlan"
NETWORK ID NAME DRIVER SCOPE
450e2ef05f54 bridge bridge local
c1cde3c00894 host host local
ac4a2d135dd2 pontmacvlan macvlan local
d5bd997f4c60 none null local
ce2e1e8ffc4c proxy bridge local
De là on peut créer son container Docker avec l'IPv4 statique demandée chez son hébergeur.
docker run -d \
--name=dockertest \
--restart always \
-v /home/aerya/docker/dockertest:/config \
-e TZ=Europe/Paris \
-p 1337:9234 \
--net pontmacvlan \
--mac-address 24-FA-56-15-E0-A6 \
--ip 12.13.14.156 \
--label=com.centurylinklabs.watchtower.enable=true \
aerya/dockertest