і server, щоб відокремити авторизацію від мого сервера
Я створив під кожний сервіс свій окремий сервіс з mysql і в мене вже виникає питання чи не потрібно зробити те саме з Редісом ?
Також я проксую запити через nginx
Подивіться будь ласка:
version: '3'
services:
redis:
image: redis
networks:
- pritunnel_network
container_name: pritunnel-redis
ports:
- '6379:6379'
volumes:
- pritunnel-server-redis:/data
server:
build: ./api
container_name: pritunnel-docker-api
command: npm run start
restart: unless-stopped
environment:
- PORT=8000
- AUTH_API_URL=http://auth:3002/api
depends_on:
server_mysql:
condition: service_healthy
redis:
condition: service_started
networks:
- pritunnel_network
auth:
build: ./auth
container_name: pritunnel-auth
command: npm run start
restart: unless-stopped
environment:
- PORT=8001
- API_URL=http://api:8000/api
depends_on:
auth_mysql:
condition: service_healthy
networks:
- pritunnel_network
server_mysql:
image: mysql
container_name: pritunnel-server_db
restart: always
ports:
- '3306:3306'
volumes:
- server_mysql:/var/lib/mysql
networks:
- pritunnel_network
auth_mysql:
image: mysql
container_name: pritunnel-auth_db
restart: always
ports:
- '3307:3306'
volumes:
- auth_mysql:/var/lib/mysql
networks:
- pritunnel_network
nginx:
image: nginx
volumes:
- ./templates:/etc/nginx/templates
ports:
- "8080:80"
environment:
- NGINX_HOST=foobar.com
- NGINX_PORT=80
volumes:
pritunnel-server-redis:
server_mysql:
auth_mysql:
networks:
pritunnel_network:
driver: bridge
А це файл з nginx:
server {
listen 80;
server_name pritunnel.local;
location /server {
proxy_pass http://api:8000;
rewrite ^/api(.*) /$1 break;
}
location /auth/api {
proxy_pass http://auth:8001;
rewrite ^/auth/api/(.*) /$1 break;
}
}
на русском пожалуйста, ничего не понимаю
В чому проблема?
в докере nginx ви перенаправляєте порт 8080 на 80
Обсуждают сегодня