Am următorul docker-compose:
versiunea: "3.1"
Servicii:
nginx:
imagine: nginx
retele:
în față:
adresa_ipv4: 172.20.0.5
de ieșire:
adresa_ipv4: 172.20.1.5
volume:
- „./configuration/nginx.conf:/etc/nginx/nginx.conf:ro”
- „./configuration/service-local.key:/etc/nginx/service-local.key:ro”
- „./configuration/service-local.crt:/etc/nginx/service-local.crt:ro”
- „website:/var/www/html/website”
- „api:/var/www/html/api”
extra_hosts:
- „api:172.20.0.3”
- „site-ul web:172.20.0.4”
API:
imagine: php
volume:
- „api:/var/www/html/api”
retele:
- în față
extra_hosts:
- „api.local:172.20.0.5”
dns:
- 8.8.8.8
- 9.9.9.9
retele:
în față:
adresa_ipv4: 172.20.0.3
site:
imagine: php
volume:
- „api:/var/www/html/api”
retele:
- în față
extra_hosts:
- „api.local:172.20.0.5”
dns:
- 8.8.8.8
- 9.9.9.9
retele:
în față:
adresa_ipv4: 172.20.0.4
volume:
site:
șofer: local
driver_opts:
tip: "niciuna"
o: "lega"
dispozitiv: $WEBSITE_DIR
API:
șofer: local
driver_opts:
tip: "niciuna"
o: "lega"
dispozitiv: $API_DIR
retele:
backend:
ipam:
config:
- subrețea: 172.20.0.0/24
în față:
şofer: pod
ipam:
driver: implicit
config:
- subrețea: 172.20.1.0/24
Tot traficul de intrare va trece în față
trafic.
Configurația de mai sus este folosită pentru dezvoltarea aplicației pe mașina mea locală.
Pentru dezvoltare folosim următoarele nume de gazdă plasate diurect în /etc/hosts
sau fiecare gazde
fișierul fiecărui dezvoltator:
api.local
pentru api executat în container api.
site-ul web.local
pentru site-ul web real executat în site-ul web
recipient.
De asemenea, am o aplicație Android unde o folosesc pentru testarea aplicațiilor mobile care folosesc domeniile de mai sus. Cum pot oferi un fel de DNS pentru aplicațiile mele dintr-o anumită rețea deservită de la computerul fiecărui dezvoltator?