我解释了我的问题,我有一个用 VagrantFile 创建的虚拟机,它从我的 LAN(通过网桥)获取 IP。
因此承认我的 VM 有一个 IP(192.168.15.11),在这个 VM 中我创建了 3 个 docker 容器,它们都有一个来自 docker 网络的 IP。
- 1 个 nginx 容器(ip:172.20.0.2)
- 1 个用于 traefik 的容器(ip:172.20.0.3)
- 1 个 portainer 容器(ip:172.20.0.4)
因为我公开了这个端口,所以我可以从我的主机访问我的 traefik(192.168.15.11:8080)和我的 partialer(192.168.15.11:9000)容器的仪表板。
但我想在我的主机上访问我的 Nginx 网页。
我尝试在我的虚拟机中输入以下行/etc/hosts
:
192.168.15.11 mynginx.com
但它仍然不起作用,我不知道该怎么做才能解决这个问题。
有人有什么想法吗?
答案1
您无需指定在哪个端口上运行 nginx。在我的例子中,我在端口 80 上运行它。因此我只需以 http://VMIP 或 http://VMIP/index.html 进行访问
docker-compose.yml
reverse:
image: nginx:alpine
container_name: reverse
restart: unless-stopped
hostname: reverse
networks:
- htpc-network
environment:
- PUID=${PUID} # default user id, defined in .env
- PGID=${PGID} # default group id, defined in .env
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/html:/usr/share/nginx/html
- ../static:/usr/share/nginx/static # get nginx to serve flask static content
- ${ROOT}/complete:/usr/share/nginx/media # media library
ports:
- "80:80"