ฉันมี docker-compose.yml ต่อไปนี้ใช้เป็นโซลูชันในเครื่องของ php web app:
รุ่น: "3.1"
บริการ:
จิงซ์:
ภาพ: nginx:1.13
ปริมาณ:
- "./configuration/nginx.conf:/etc/nginx/nginx.conf:ro"
- "./configuration/etable-local.key:/etc/nginx/etable-local.key:ro"
- "./configuration/etable-local.crt:/etc/nginx/etable-local.crt:ro"
- "เว็บไซต์:/var/www/html/เว็บไซต์"
- "api:/var/www/html/static"
ลิงค์:
- "php708:เว็บไซต์"
- "php72:api"
เครือข่าย:
ส่วนหน้า:
ipv4_address: 172.20.0.5
พอร์ต:
- "80:80"
- "443:443"
php72:
ภาพ: php:7.2-fpm-alpine
ปริมาณ:
- "api:/var/www/html/api"
สิ่งแวดล้อม:
สิ่งแวดล้อม: ท้องถิ่น
เครือข่าย:
- ส่วนหน้า
DNS:
- 8.8.8.8
- 9.9.9.9
เว็บไซต์:
ภาพ: php:7.2-fpm-alpine
ปริมาณ:
- "api:/var/www/html/api"
สิ่งแวดล้อม:
สิ่งแวดล้อม: ท้องถิ่น
เครือข่าย:
- ส่วนหน้า
DNS:
- 8.8.8.8
- 9.9.9.9
ปริมาณ:
เว็บไซต์:
คนขับ: ท้องถิ่น
driver_opts:
ประเภท: "ไม่มี"
o: "ผูกพัน"
อุปกรณ์: $WEBSITE_DIR
API:
คนขับ: ท้องถิ่น
driver_opts:
ประเภท: "ไม่มี"
o: "ผูกพัน"
อุปกรณ์: $API_DIR
เครือข่าย:
ส่วนหน้า:
ไอแพม:
การกำหนดค่า:
- เครือข่ายย่อย: 172.20.0.0/24
และในคอมพิวเตอร์ของฉันที่รัน docker container ฉันมีรายการต่อไปนี้ใน /etc/hosts:
172.20.0.5 api.local
172.20.0.5 เว็บไซต์.local
แต่ฉันต้องการให้บริการโดเมนไวด์การ์ดด้วย ดังนั้นฉันจึงคิดที่จะจัดส่ง dnsmasq ด้วยพร้อมกับการกำหนดค่าที่เหมาะสมในการเขียนนักเทียบท่าและทิ้งทั้งหมด / etc / โฮสต์
(นำมาใช้ใหม่ได้ดีขึ้นและการตั้งค่าที่ใช้ร่วมกันระหว่างทีม):
รุ่น: "3.1"
บริการ:
จิงซ์:
ภาพ: nginx:1.13
ปริมาณ:
- "./configuration/nginx.conf:/etc/nginx/nginx.conf:ro"
- "./configuration/etable-local.key:/etc/nginx/etable-local.key:ro"
- "./configuration/etable-local.crt:/etc/nginx/etable-local.crt:ro"
- "เว็บไซต์:/var/www/html/เว็บไซต์"
- "api:/var/www/html/static"
ลิงค์:
- "php708:เว็บไซต์"
- "php72:api"
เครือข่าย:
ส่วนหน้า:
ipv4_address: 172.20.0.5
พอร์ต:
- "80:80"
- "443:443"
php72:
ภาพ: php:7.2-fpm-alpine
ปริมาณ:
- "api:/var/www/html/api"
สิ่งแวดล้อม:
สิ่งแวดล้อม: ท้องถิ่น
เครือข่าย:
- ส่วนหน้า
DNS:
- 8.8.8.8
- 9.9.9.9
เว็บไซต์:
ภาพ: php:7.2-fpm-alpine
ปริมาณ:
- "api:/var/www/html/api"
สิ่งแวดล้อม:
สิ่งแวดล้อม: ท้องถิ่น
เครือข่าย:
- ส่วนหน้า
DNS:
- 8.8.8.8
- 9.9.9.9
DNSmasq:
ภาพ: 'jpillora/dnsmasq'
พอร์ต:
- "53:53/udp"
- "5380:8080"
ปริมาณ:
-"/opt/dnsmasq.conf:/etc/dnsmasq.conf"
สิ่งแวดล้อม:
HTTP_USER: ฟู
HTTP_PASS: บาร์
เครือข่าย:
ส่วนหน้า:
ipv4_address: 172.20.0.6
DNS:
- 8.8.8.8
- 9.9.9.9
ปริมาณ:
เว็บไซต์:
คนขับ: ท้องถิ่น
driver_opts:
ประเภท: "ไม่มี"
o: "ผูกพัน"
อุปกรณ์: $WEBSITE_DIR
API:
คนขับ: ท้องถิ่น
driver_opts:
ประเภท: "ไม่มี"
o: "ผูกพัน"
อุปกรณ์: $API_DIR
เครือข่าย:
ส่วนหน้า:
ไอแพม:
การกำหนดค่า:
- เครือข่ายย่อย: 172.20.0.0/24
แต่ฉันจะกำหนดค่าเครื่อง GNU/Linux ในเครื่องและ Windows เพื่อแก้ไขโดเมนที่เหมาะสมได้อย่างไร 172.20.0.6
ควบคู่ไปกับโดเมนอื่น ๆ ?
ใน linux mint 19.04 ของฉัน เมื่อฉันเรียกใช้ ifconfig ฉันจะได้รับการตั้งค่าต่อไปนี้:
br-144546484da6: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.18.0.1 netmask 255.255.0.0 ออกอากาศ 172.18.255.255
อีเธอร์ 02:42:ee:โฆษณา:b4:6b txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 0 ไบต์ 0 (0.0 B)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 0 ไบต์ 0 (0.0 B)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
br-2c821d16ac40: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.24.0.1 netmask 255.255.0.0 ออกอากาศ 172.24.255.255
อีเธอร์ 02:42:d1:29:8f:d0 txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 0 ไบต์ 0 (0.0 B)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 0 ไบต์ 0 (0.0 B)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
br-936b043d07ec: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.20.0.1 netmask 255.255.255.0 ออกอากาศ 172.20.0.255
inet6 fe80::42:31ff:fe3b:6a93 คำนำหน้า 64 scopeid 0x20<link>
อีเธอร์ 02:42:31:3b:6a:93 txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 21190 ไบต์ 46944301 (46.9 MB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 20152 ไบต์ 3393362 (3.3 MB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
นักเทียบท่า 0: ค่าสถานะ = 4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 ออกอากาศ 172.17.255.255
อีเธอร์ 02:42:63:fa:1e:98 txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 0 ไบต์ 0 (0.0 B)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 0 ไบต์ 0 (0.0 B)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.4 netmask 255.255.255.0 ออกอากาศ 192.168.2.255
inet6 fe80::4819:e008:32b3:eb75 คำนำหน้า 64 scopeid 0x20<link>
อีเธอร์ 30:5a:3a:82:3c:2c txqueuelen 1000 (อีเธอร์เน็ต)
แพ็คเก็ต RX 1020236 ไบต์ 974038110 (974.0 MB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 708231 ไบต์ 83763973 (83.7 MB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
แท้จริง: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 เน็ตมาสก์ 255.0.0.0
inet6 ::1 คำนำหน้าlen 128 scopeid 0x10<host>
วนซ้ำ txqueuelen 1,000 (วนกลับในเครื่อง)
แพ็คเก็ต RX 35856 ไบต์ 3871878 (3.8 MB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 35856 ไบต์ 3871878 (3.8 MB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
vboxnet3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.1 netmask 255.255.255.0 ออกอากาศ 192.168.10.255
inet6 fe80::800:27ff:fe00:3 คำนำหน้า 64 scopeid 0x20<link>
อีเธอร์ 0a:00:27:00:00:03 txqueuelen 1000 (อีเธอร์เน็ต)
แพ็คเก็ต RX 0 ไบต์ 0 (0.0 B)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 1537 ไบต์ 248272 (248.2 KB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
veth15937a1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::f828:5eff:fe17:5f3f คำนำหน้า 64 scopeid 0x20<ลิงค์>
อีเธอร์ fa:28:5e:17:5f:3f txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 0 ไบต์ 0 (0.0 B)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 1299 ไบต์ 200892 (200.8 KB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
veth4f39177: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::7807:8bff:fef4:90d6 คำนำหน้า 64 scopeid 0x20<ลิงค์>
อีเธอร์ 7a:07:8b:f4:90:d6 txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 4022 ไบต์ 2287668 (2.2 MB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 4674 ไบต์ 1238082 (1.2 MB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
vethb2863e3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::986d:2aff:feae:5a83 คำนำหน้า 64 scopeid 0x20<link>
อีเธอร์ 9a:6d:2a:ae:5a:83 txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 0 ไบต์ 0 (0.0 B)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 1279 ไบต์ 197402 (197.4 KB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
vethe23b637: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::d8cf:8dff:fe79:2de คำนำหน้า 64 scopeid 0x20<link>
อีเธอร์ da:cf:8d:79:02:de txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 10344 ไบต์ 1065309 (1.0 MB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 11282 ไบต์ 1252992 (1.2 MB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
vethea02dde: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::a8aa:72ff:fe3f:f7f6 คำนำหน้า 64 scopeid 0x20<ลิงค์>
อีเธอร์ aa:aa:72:3f:f7:f6 txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 1792 ไบต์ 43279416 (43.2 MB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 2443 ไบต์ 307732 (307.7 KB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
vethf1bdbae: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::6cd3:dfff:feec:1000 คำนำหน้า 64 scopeid 0x20<link>
อีเธอร์ 6e:d3:df:ec:10:00 txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 0 ไบต์ 0 (0.0 B)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 1272 ไบต์ 196493 (196.4 KB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
vethf209ff2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::7c6c:11ff:fecc:25c7 คำนำหน้า 64 scopeid 0x20<link>
อีเธอร์ 7e:6c:11:cc:25:c7 txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 5594 ไบต์ 45271086 (45.2 MB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 7041 ไบต์ 45379695 (45.3 MB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
และเครือข่ายที่ dns ทำงานอยู่คือ: br-936b043d07ec
แต่ก็กลัวว่าชื่อมันจะเปลี่ยนเหมือนกันทุกครั้งที่วิ่ง นักเทียบท่า-เขียนขึ้น
(เสร็จงานวิ่งบ่อย นักเทียบท่าเขียนลง
).
วิธีแก้ปัญหามากมายเช่นนี้ หนึ่ง แนะนำความละเอียด DNS ข้างใน คอนเทนเนอร์นักเทียบท่า ans นี่ไม่ใช่สิ่งที่ฉันต้องการ แต่เป็นวิธีการแก้ไขชื่อไวด์การ์ดในลักษณะเดียวกัน ฉันสามารถตั้งค่าโดเมนท้องถิ่นใน / etc / โฮสต์
.