Dockerize Phoenix应用程序并使用虚拟主机

我正在设置我的环境来使用Docker开发Phoenix应用程序。

Unitil这一点一切都很好,除了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)。

您不需要nginx ,只需要将app.dev添加到/etc/hosts文件。

 127.0.0.1 app.dev