một bộ chứa PHP-FPM (7.2), thành viên của ngăn xếp LAPP cổ điển, hiển thị chính xác cổng 9000 khi được khởi chạy với soạn thảo docker
nhưng không có gì khi bắt đầu bởi Docker Swarm. Tôi có nên đề cập rằng vùng chứa đang chạy (xem đầu ra bên dưới) và tôi có thể khởi chạy lệnh TTY bash trên đó không.
Vì vậy soạn thảo docker
, ứng dụng web có đầy đủ chức năng, nhưng với Swarm, Apache đưa ra Dịch vụ 503 Không khả dụng. Không có gì thay đổi giữa các thử nghiệm với các động cơ khác nhau. Bạn có bất cứ đầu mối về hành vi này?
docker-compose.yml
phiên bản: '3.5'
dịch vụ:
postgres:
env_file: ./.env
hình ảnh: "postgres:9.5.24"
khối lượng:
- cơ sở dữ liệu:/var/lib/postgresql/data
mạng:
- nội bộ
quản trị viên:
hình ảnh: quản trị viên
mạng:
- nội bộ
- traefik-public
triển khai:
nhãn:
- "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"
apache:
env_file: ./.env
hình ảnh: visio_rdv_apache: mới nhất
xây dựng:
bối cảnh: docker/hình ảnh/Apache2.4
dockerfile: dockerfile
lập luận:
UID: ${HOST_UID}
ROOT_URL: ${ROOT_URL}
cổng:
- 8000:80
môi trường:
FPM_HOST: php:9000
ROOT_URL: ${ROOT_URL}
khối lượng:
- ${LOGS_DIR}/Apache/:/var/log/httpd/
- ${RELATIVE_APP_PATH}:/var/www/html
liên kết:
- postgres
- php
mạng:
- nội bộ
- traefik-public
triển khai:
nhãn:
- "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
liên kết:
- ftp
hình ảnh: visio_rdv_php:mới nhất
xây dựng:
bối cảnh: docker/hình ảnh/php
dockerfile: dockerfile
lập luận:
UID: ${HOST_UID}
Múi giờ: ${TIMEZONE}
PROXY: ${http_proxy}
khối lượng:
- ftp_data:/var/www/ftp:rw
- ${RELATIVE_APP_PATH}:/var/www/html
mạng:
- nội bộ
ftp:
env_file: .env
hình ảnh: "fauria/vsftpd:latest"
cổng:
- "9520:20"
- "9521:21"
- "21100-21110:21100-21110"
môi trường:
FTP_USER: ${FTP_USER}
FTP_PASS: ${FTP_PASS}
PASV_MIN_PORT: 21100
PASV_MAX_PORT: 21100
khối lượng:
- ftp_data:/home/vsftpd/${AUTOMATION_CLIENT_NAME}:rw
mạng:
- nội bộ
khối lượng:
ftp_data:
cơ sở dữ liệu:
mạng:
traefik-công khai:
bên ngoài: đúng
nội bộ:
bên ngoài: sai
Với đàn Docker
Nhật ký Apache:
[Thứ tư ngày 04 tháng 8 07:35:16.382246 2021] [proxy:error] [pid 11] (111)Kết nối bị từ chối: AH00957: FCGI: cố gắng kết nối với 10.0.4.93:9000 (*) không thành công
[Thứ tư ngày 04 tháng 8 07:35:16.382314 năm 2021] [proxy_fcgi:error] [pid 11] [client 10.0.0.2:1035] AH01079: không thể kết nối với chương trình phụ trợ: php, người giới thiệu: http://test.example.com /
Danh sách dịch vụ bầy đàn:
dịch vụ docker ls
ID NAME CHẾ ĐỘ SAO CHÉP CỔNG HÌNH ẢNH
um2txtpz8534 traefik_reverse-proxy được sao chép 1/1 traefik:v2.4
ahf7uukapxbr my_stack_adminer đã sao chép 1/1 quản trị viên: mới nhất
ue8qekmg0ff0 my_stack_apache được sao chép 1/1 my_stack_apache:latest my_stack*:8000->80/tcp
x9igaslhsx11 my_stack_ftp được sao chép 1/1 fauria/vsftpd:latest *:9520-9521->20-21/tcp, *:21100-21110->21100-21110/tcp
jpk4qzqs1tfx my_stack_php được sao chép 1/1 my_stack_php:latest
ih67rh82vp9e my_stack_postgres đã sao chép 1/1 postgres:9.5.24
tôi đã cố gắng thêm công cụ mạng
vào hình ảnh PHP, để kiểm tra thủ công kết nối với nc
. Cùng một kết quả, php
IP phiên bản vùng chứa được giải quyết chính xác, nhưng mọi kết nối TCP tới cổng 9000 đều bị từ chối.
Tôi sử dụng rất nhiều lọ môi trường và để khắc phục tính năng còn thiếu với Swarm, tôi sử dụng docker-compose cấu hình
đầu ra lệnh để tạo hoàn thành docker-compose.yml
tập tin.
Với soạn thảo docker
Tên Lệnh Trạng thái Cổng
--------------------------------------------- --------------------------------------------- --------------------------------------------- --------------------------------------------- --------
my_stack_adminer_1 entrypoint.sh docker-php-e ... Lên 8080/tcp
my_stack_apache_1 /bin/sh -c apachectl -D FO ... Lên 0.0.0.0:8000->80/tcp
my_stack_ftp_1 /usr/sbin/run-vsftpd.sh Lên 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 Lên 9000/tcp
my_stack_postgres_1 docker-entrypoint.sh postgres Lên 5432/tcp