Я пытаюсь сломать мое монолитное c приложение до микро-сервисов. Мой docker -compose.yml выглядит примерно так:
user-api:
build:
context: .
dockerfile: ./UserApi/Dockerfile
depends_on:
- mysql
- redis
working_dir: /code
ports:
- "8101:80"
user-api-nginx:
build:
context: .
dockerfile: ./UserApiNginx/Dockerfile
depends_on:
- user-api
network_mode: "service:user-api"
order-api:
build:
context: .
dockerfile: ./OrderApi/Dockerfile
depends_on:
- mysql
- redis
working_dir: /code
ports:
- "8102:80"
order-api-nginx:
build:
context: .
dockerfile: ./OrderApiNginx/Dockerfile
depends_on:
- order-api
network_mode: "service:order-api"
И два моих nginx conf:
server {
listen 80 default_server;
server_name testsite.local;
root /code/public;
index index.php index.html;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
location / {
try_files $uri /index.php?$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
и
server {
listen 80 default_server;
server_name testsite.local;
root /code/public;
index index.php index.html;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
location / {
try_files $uri /index.php?$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
Таким образом, в моей локальной dev-среде я мог вызывать testsite.local: 8101 и testsite.local: 8102 для получения данных о пользователе и заказе соответственно. Насколько я понимаю, если я разверну свой код в aws ecs и добавлю ALB поверх него, ALB будет отправлять запросы в зависимости от пути, но не от порта. Мой вопрос: как я могу достичь этого в моем местном окружении? Спасибо!