【发布时间】:2017-10-06 10:45:37
【问题描述】:
通过 Docker compose,我构建了一组图像。其中,有一个 node.js/express 服务器和一个 angularjs 2.0 前端。 这是 docker-compose 文件:
version: "3.3"
services:
angular:
image: micheleminno/angular-client:latest
build: ./angular-client
ports:
- "4200:4200"
express:
image: micheleminno/express-server:latest
build: ./express-server
depends_on:
- mysql
- elasticsearch
ports:
- "3000:3000"
networks:
- sql
- nosql
elasticsearch:
build: elasticsearch/
ports:
- "9200:9200"
- "9300:9300"
networks:
- nosql
environment:
- MAX_OPEN_FILES=1048576
cap_add:
- IPC_LOCK
ulimits:
memlock:
soft: -1
hard: -1
command: echo "Elasticsearch disabled"
kibana:
build: kibana/
volumes:
- ./kibana/config/:/usr/share/kibana/config
ports:
- "5601:5601"
networks:
- nosql
depends_on:
- elasticsearch
command: echo "Kibana disabled"
mysql:
image: mysql:5.5
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=real-affinities
- MYSQL_USER=production
- MYSQL_PASSWORD=production
ports:
- "3306:3306"
networks:
- sql
migrations:
image: micheleminno/db-migrations:latest
environment:
- NODE_ENV=production
depends_on:
- mysql
networks:
- sql
networks:
nosql:
driver: bridge
sql:
driver: bridge
当一切开始时,加载页面http://localhost:4200/ 会触发对快速服务器的以下 GET 请求:
https://localhost:3000/target
但是请求没有成功:
而如果我自己执行 GET 请求,我可以正确获得结果:
更新
这是我在 server.js 中的 CORS 部分:
const cors = require('cors');
const app = express();
app.use(cors());
【问题讨论】:
标签: angularjs node.js express docker docker-compose