【发布时间】:2017-07-24 18:27:06
【问题描述】:
我正在尝试设置我的环境以使用 Docker 开发 Phoenix 应用程序。
到目前为止,一切都很好,除了 VIRTUAL_HOST 部分,我想通过访问 app.dev 而不是 localhost:4000 来访问我的应用程序。
我正在使用这个 docker-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 好吧,这很奇怪,当我 curl app.dev 时,我得到了 html 内容,但我无法从浏览器访问它(app.dev)。
【问题讨论】:
-
您不需要反向代理,但是当/如果您添加更多服务时,它会很好。您是否将
app.dev添加到您的主机文件中?在 dev.. 中使用 jwilder/nginx-proxy 时,有时会在容器停止和快速启动时感到困惑。docker-compose restart proxy很快解决了这个问题。
标签: docker docker-compose phoenix-framework