Fournir des IP statiques pour les conteneurs docker via docker-composer
Je suis en essayant de fournir une adresse IP statique pour les conteneurs. Je comprends que je dois créer un réseau personnalisé. Je le créer et le pont de l'interface est en place sur la machine hôte (Ubuntu 16.x). Les conteneurs sont IP de sous-réseau, mais pas statique, je fournis.
Voici mon menu fixe-composer.yml:
version: '2'
services:
mysql:
container_name: mysql
image: mysql:latest
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root
ports:
- "3306:3306"
networks:
- vpcbr
apigw-tomcat:
container_name: apigw-tomcat
build: tomcat/.
ports:
- "8080:8080"
- "8009:8009"
networks:
- vpcbr
depends_on:
- mysql
networks:
vpcbr:
driver: bridge
ipam:
config:
- subnet: 10.5.0.0/16
gateway: 10.5.0.1
aux_addresses:
mysql: 10.5.0.5
apigw-tomcat: 10.5.0.6
Les conteneurs sont 10.5.0.2 et 10.5.0.3, au lieu de 5 et 6.
Vous devez vous connecter pour publier un commentaire.
Noter que je ne recommande pas d'une IP fixe pour les conteneurs Docker, sauf si vous faites quelque chose qui permet de routage à partir de l'extérieur vers l'intérieur de votre conteneur de réseau (par exemple, macvlan). DNS est déjà là pour la découverte de services à l'intérieur du conteneur réseau et prend en charge le conteneur de mise à l'échelle. Et à l'extérieur du récipient de réseau, vous devez utiliser des ports exposés sur l'ordinateur hôte. Avec cet avertissement, voici la composition du fichier que vous voulez:
J'ai été confronté à quelques difficultés avec une variable d'environnement avec nom personnalisé (pas avec le nom de conteneur /port convention pour KAPACITOR_BASE_URL et KAPACITOR_ALERTS_ENDPOINT). Si nous donnons un nom de service dans ce cas, il ne serait pas de résoudre l'adresse ip que d'
Au-dessus de
http://[**kapacitor**]:9092
ne serait pas résoudre àhttp://172.20.0.2:9092
J'ai résolu les adresses ip statique problèmes à l'aide de sous-réseau configurations.