Проблема в том, что вы не сопоставляете порт контейнера с портом хоста. Таким образом, вы можете получить доступ к контейнеру внутри хоста.
Решение состоит в том, что вам нужно сопоставить порт в файле docker-compose следующим образом:
version: '3'
services:
nginx_img:
container_name: ${COMPOSE_PROJECT_NAME}_nginx_con
build:
context: ./nginx
ports:
- "80:80"
networks:
public_net:
ipv4_address: ${NGINX_IP}
networks:
public_net:
driver: bridge
ipam:
driver: default
config:
- subnet: ${NETWORK_SUBNET}
Контейнер Docker работает так:
Последний шаг, вам нужно разрешить порт 80 в NSG, который связан с виртуальной машиной, на которой вы запускаете nginx. Затем вы можете получить доступ к nginx вне виртуальной машины в браузере.