【发布时间】:2017-11-07 05:20:11
【问题描述】:
我的本地主机中有一个以 app.dev 域运行的应用程序。但是,我希望有其他应用程序使用不同的端口运行。而不是端口 80,它将是 2000,域 app.dev:2000 在 app2/ 我可以知道我应该对我的 docker-compose 和 nginx 进行哪些更改吗?谢谢
这是我的 docker-compose
version: "2"
volumes:
mongostorage:
services:
app:
build: ./app
ports:
- "3000"
links:
- mongo
- redis
command: node ./bin/www
app2:
build: ./app2
ports:
- "2000"
links:
- mongo
- redis
command: node app.js
nginx:
build: ./nginx
ports:
- "80:80"
links:
- app:app
mongo:
image: mongo:latest
environment:
- MONGO_DATA_DIR=/data/db
volumes:
- mongostorage:/data/db
ports:
- "27017:27017"
redis:
image: redis
volumes:
- ./data/redis/db:/data/db
ports:
- "6379:6379"
这是我的 ngnix.conf
events {
worker_connections 1024;
}
http{
upstream app.dev{
least_conn;
server app:3000 weight=10 max_fails=3 fail_timeout=30s;
}
server {
listen 80;
server_name app.dev;
location / {
proxy_pass http://app.dev;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
}
【问题讨论】:
-
您想以app.dev/app2 或app.dev:2000 的身份访问第二个应用程序吗?
-
@Matt,它是 app.dev:2000
标签: docker nginx docker-compose