Добрый день,
Пытаюсь на виртуалке развернуть nginx, так, чтобы html файлы отдавались из него, а апишка проксировалась на другой докер образ.
Так же я руками на виртуалке создаю для докера общую сеть (я пробовал по разному делать)
docker network create nginx-proxy-man
Nginx и база описаны в докер-композе
version: '3'
services:
webserver:
image: nginx:latest
ports:
- 80:80
- 443:443
restart: always
volumes:
- ./projects/web:/etc/nginx/html
- ./nginx/conf:/etc/nginx/conf.d:ro
networks:
- nginx-proxy-man # network outside
- internal # network internal
database:
image: mysql:8.0.30
restart: always
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
environment:
MYSQL_ROOT_PASSWORD: "[type_root_password]"
MYSQL_DATABASE: combatssharp
MYSQL_USER: user_write
MYSQL_PASSWORD: "[type_root_password]"
ports:
- "3317:3306"
networks:
- internal # network internal
networks:
nginx-proxy-man:
external: true
internal:
internal: true
Вот файл nginx.conf
server {
listen 80;
listen [::]:80;
server_name _;
index index.html;
location /api/ {
proxy_pass http://127.0.0.1:5050/api/;
}
location / {
try_files $uri $uri/ /index.html =404;
}
}
Образ апишки я запускаю так, он точно работает, точно внутри резолвится на порт 5050, так как по внешнему порту я бы ничего не увидел.
docker run --restart unless-stopped -p 5001:5050 -d --name api --network nginx-proxy-man projsharp-api:2023_04_02__19_52_17
Так же точно его эндпоинт, как и эндпоинт nginx-a находится в сети nginx-proxy-man, пробовал еще раз добавить по айдишникам контейнеров:
docker network connect nginx-proxy-man 9d57d25e82ef
Error response from daemon: endpoint with name firstvds-webserver-1 already exists in network nginx-proxy-man
docker network connect nginx-proxy-man aff5e5128941
Error response from daemon: endpoint with name api already exists in network nginx-proxy-man
Изнутри контейнера nginx-а не могу получить доступ на этот соседний контейнер
docker compose exec webserver curl http://127.0.0.1:5050/api/index.html
curl: (7) Failed to connect to 127.0.0.1 port 5050: Connection refused