我试图设置我的环境来开发使用Docker的Phoenix应用程序。Dockerize Phoenix应用程序并使用虚拟主机
Unitil至此一切都很好,除了VIRTUAL_HOST的一部分,我想通过访问app.dev
而不是localhost:4000
访问我的应用程序。
我使用这个搬运工,compose.yml文件:
version: '2'
services:
proxy:
image: jwilder/nginx-proxy
ports:
- 80:80
postgres:
image: postgres:latest
restart: always
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=root
web:
build: .
command: mix phx.server
volumes:
- .:/app
ports:
- 4000:4000
depends_on:
- postgres
environment:
- MIX_ENV=dev
- VIRTUAL_HOST=app.dev
- VIRTUAL_PORT=4000
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=root
links:
- postgres
,当我尝试访问我越来越网站app.dev无法达成。
编辑#1 对于使用VIRTUAL_HOST,我真的需要反向代理吗?或者一个简单的DNS或什么东西就足够了?
编辑#2 好吧,这很奇怪,当我卷曲app.dev我得到的HTML内容,但我不能从浏览器(app.dev)访问它。
您不需要反向代理服务器,但是在/添加更多服务时已经到位。您是否已将'app.dev'添加到您的hosts文件中?在dev中使用jwilder/nginx-proxy时,有时会在容器停止并快速启动时感到困惑。 'docker-compose restart proxy'解决了这个问题。 – Grimmy