คอนเทนเนอร์ PHP-FPM หนึ่งรายการ (7.2) ซึ่งเป็นสมาชิกของสแต็ก LAPP แบบคลาสสิก เปิดเผยพอร์ต 9000 อย่างถูกต้องเมื่อเปิดใช้งานด้วย นักเทียบท่าเขียน
แต่ไม่มีอะไรเมื่อเริ่มต้นโดย Docker Swarm. ฉันควรพูดถึงว่าคอนเทนเนอร์กำลังทำงานอยู่ (ดูผลลัพธ์ด้านล่าง) และฉันสามารถเปิด TTY bash ได้
ดังนั้นด้วย นักเทียบท่าเขียน
เว็บแอปพลิเคชันทำงานได้อย่างสมบูรณ์ แต่ด้วย Swarm ทำให้ Apache ออก 503 Service Unavailable ไม่มีอะไรเปลี่ยนแปลงระหว่างการทดสอบกับเครื่องยนต์ต่างๆ คุณมีเงื่อนงำเกี่ยวกับพฤติกรรมนี้หรือไม่?
นักเทียบท่า-compose.yml
รุ่น: '3.5'
บริการ:
โพสต์เกรส:
env_file: ./.env
ภาพ: "postgres:9.5.24"
ปริมาณ:
- ฐานข้อมูล:/var/lib/postgresql/data
เครือข่าย:
- ภายใน
ผู้ดูแลระบบ:
ภาพ : แอดมิน
เครือข่าย:
- ภายใน
- traefik สาธารณะ
ปรับใช้:
ป้ายกำกับ:
- "traefik.enable=true"
- "traefik.http.routers.adminer.rule=Host(`adminer.example.com`)"
- "traefik.http.routers.adminer.entrypoints=websecure"
- "traefik.http.routers.adminer.tls.certresolver=letsencryptresolver"
- "traefik.http.services.adminer.loadbalancer.server.port=8080"
- "traefik.port=80"
อาปาเช่:
env_file: ./.env
รูปภาพ: visio_rdv_apache: ล่าสุด
สร้าง:
บริบท: นักเทียบท่า/รูปภาพ/apache2.4
นักเทียบท่าไฟล์: Dockerfile
หาเรื่อง:
UID: ${HOST_UID}
ROOT_URL: ${ROOT_URL}
พอร์ต:
- 8000:80
สิ่งแวดล้อม:
FPM_HOST: php:9000
ROOT_URL: ${ROOT_URL}
ปริมาณ:
- ${LOGS_DIR}/apache/:/var/log/httpd/
- ${RELATIVE_APP_PATH}:/var/www/html
ลิงค์:
- โพสเกรส
- php
เครือข่าย:
- ภายใน
- traefik สาธารณะ
ปรับใช้:
ป้ายกำกับ:
- "traefik.enable=true"
- "traefik.http.routers.visio_rdv.rule=Host(`test.example.com`)"
- "traefik.http.routers.visio_rdv.entrypoints=websecure"
- "traefik.http.routers.visio_rdv.tls.certresolver=letsencryptresolver"
- "traefik.http.services.visio_rdv.loadbalancer.server.port=80"
- "traefik.port=80"
php:
env_file: .env
ลิงค์:
- เอฟทีพี
ภาพ: visio_rdv_php:ล่าสุด
สร้าง:
บริบท: นักเทียบท่า/รูปภาพ/php.ini
นักเทียบท่าไฟล์: Dockerfile
หาเรื่อง:
UID: ${HOST_UID}
เขตเวลา: ${TIMEZONE}
พร็อกซี: ${http_proxy}
ปริมาณ:
- ftp_data:/var/www/ftp:rw
- ${RELATIVE_APP_PATH}:/var/www/html
เครือข่าย:
- ภายใน
ftp:
env_file: .env
รูปภาพ: "fauria/vsftpd:latest"
พอร์ต:
- "9520:20"
- "9521:21"
- "21100-21110:21100-21110"
สิ่งแวดล้อม:
FTP_USER: ${FTP_USER}
FTP_PASS: ${FTP_PASS}
PASV_MIN_PORT: 21100
PASV_MAX_PORT: 21100
ปริมาณ:
- ftp_data:/home/vsftpd/${AUTOMATION_CLIENT_NAME}:rw
เครือข่าย:
- ภายใน
ปริมาณ:
ftp_data:
ฐานข้อมูล:
เครือข่าย:
traefik สาธารณะ:
ภายนอก: จริง
ภายใน:
ภายนอก: เท็จ
ด้วย Docker Swarm
บันทึก Apache:
[วันพุธที่ 04 ส.ค. 07:35:16.382246 2021] [proxy:error] [pid 11] (111)การเชื่อมต่อถูกปฏิเสธ: AH00957: FCGI: พยายามเชื่อมต่อกับ 10.0.4.93:9000 (*) ล้มเหลว
[วันพุธที่ 04 ส.ค. 07:35:16.382314 2021] [proxy_fcgi:ข้อผิดพลาด] [pid 11] [ไคลเอนต์ 10.0.0.2:1035] AH01079: ไม่สามารถเชื่อมต่อกับแบ็กเอนด์: php, ผู้อ้างอิง: http://test.example.com /
รายการบริการฝูง:
บริการนักเทียบท่า ls
ID NAME MODE จำลองพอร์ตรูปภาพ
um2txtpz8534 traefik_reverse-proxy จำลองแบบ 1/1 traefik:v2.4
ahf7uukapxbr my_stack_adminer จำลองแบบ 1/1 ผู้ดูแลระบบ: ล่าสุด
ue8qekmg0ff0 my_stack_apache จำลองแบบ 1/1 my_stack_apache: ล่าสุด my_stack*:8000->80/tcp
x9igaslhsx11 my_stack_ftp จำลองแบบ 1/1 fauria/vsftpd:latest *:9520-9521->20-21/tcp, *:21100-21110->21100-21110/tcp
jpk4qzqs1tfx my_stack_php จำลองแบบ 1/1 my_stack_php:latest
ih67rh82vp9e my_stack_postgres จำลองแบบ 1/1 postgres:9.5.24
ฉันพยายามเพิ่ม เครื่องมือสุทธิ
ไปที่อิมเมจ PHP เพื่อทดสอบการเชื่อมต่อกับ เอ็นซี
. ผลลัพธ์เดียวกัน php.ini
IP อินสแตนซ์คอนเทนเนอร์ได้รับการแก้ไขอย่างถูกต้อง แต่การเชื่อมต่อ TCP กับพอร์ต 9000 ถูกปฏิเสธ
ฉันใช้ vars สภาพแวดล้อมจำนวนมาก และเพื่อบรรเทาคุณลักษณะที่ขาดหายไปด้วย Swarm ฉันจึงใช้ การกำหนดค่านักเทียบท่าเขียน
เอาต์พุตคำสั่งเพื่อสร้างเสร็จสมบูรณ์ นักเทียบท่า-compose.yml
ไฟล์.
กับ นักเทียบท่าเขียน
ชื่อ Command State Ports
--------------------------------------------- --------------------------------------------- --------------------------------------------- --------------------------------------------- --------
my_stack_adminer_1 entrypoint.sh นักเทียบท่า-php-e ... เพิ่มขึ้น 8080/tcp
my_stack_apache_1 /bin/sh -c apachectl -D FO ... เพิ่มขึ้น 0.0.0.0:8000->80/tcp
my_stack_ftp_1 /usr/sbin/run-vsftpd.sh เพิ่มขึ้น 0.0.0.0:9520->20/tcp, 0.0.0.0:9521->21/tcp, 0.0.0.0:21100->21100/tcp, 0.0.0.0:21101 ->21101/tcp, 0.0.0.0:21102->21102/tcp,
0.0.0.0:21103->21103/tcp, 0.0.0.0:21104->21104/tcp, 0.0.0.0:21105->21105/tcp, 0.0.0.0:21106->21106/tcp, 0.0.0.0:21107- >21107/tcp,
0.0.0.0:21108->21108/tcp, 0.0.0.0:21109->21109/tcp, 0.0.0.0:21110->21110/tcp
my_stack_php_1 php-fpm -R -F เพิ่มขึ้น 9000/tcp
my_stack_postgres_1 docker-entrypoint.sh postgres เพิ่มขึ้น 5432/tcp