Angular Docker组合问题(EconRefused)
我有两个docker compose用于后端.net核心和角度前端。它们应该相互沟通。为此,我尝试了一个网络。但我总是得到以下信息: 尝试将来自localhost:4200的请求/应用信息代理到EconResult时发生[HPM]错误 两个容器都在运行。后端撰写是通过VisualStudio启动的。前端合成是使用powershell启动的 我在前端尝试了端口80和5000。结果是一样的 对于网络,我在没有外部支持的情况下进行了尝试。对于外部网络,我使用docker network create test_network手动创建了网络 后端docker compose:Angular Docker组合问题(EconRefused),angular,docker,.net-core,docker-compose,Angular,Docker,.net Core,Docker Compose,我有两个docker compose用于后端.net核心和角度前端。它们应该相互沟通。为此,我尝试了一个网络。但我总是得到以下信息: 尝试将来自localhost:4200的请求/应用信息代理到EconResult时发生[HPM]错误 两个容器都在运行。后端撰写是通过VisualStudio启动的。前端合成是使用powershell启动的 我在前端尝试了端口80和5000。结果是一样的 对于网络,我在没有外部支持的情况下进行了尝试。对于外部网络,我使用docker network create
version: '3.7'
services:
backend_sql:
image: mcr.microsoft.com/mssql/server:2017-GA-ubuntu
container_name: testsql
networks:
- test_network
ports:
- "1440:1433"
volumes:
- testsqldata:/var/opt/mssql
backend_api:
image: ${DOCKER_REGISTRY-}backendapi
container_name: testapi
build:
context: .
dockerfile: backendAPI/Dockerfile
networks:
- test_network
depends_on:
- backend_sql
ports:
- "5000:80"
networks:
test_network:
external:
name: test_network
volumes:
testsqldata:
driver: local
name: testsqldata
version: "3.7"
services:
testapp:
container_name: testapp
build: .
networks:
- test_network
ports:
- "4200:4200"
- "49153:49153"
volumes:
- "/app/node_modules"
- ".:/app"
networks:
test_network:
external:
name: test_network
前端docker compose:
version: '3.7'
services:
backend_sql:
image: mcr.microsoft.com/mssql/server:2017-GA-ubuntu
container_name: testsql
networks:
- test_network
ports:
- "1440:1433"
volumes:
- testsqldata:/var/opt/mssql
backend_api:
image: ${DOCKER_REGISTRY-}backendapi
container_name: testapi
build:
context: .
dockerfile: backendAPI/Dockerfile
networks:
- test_network
depends_on:
- backend_sql
ports:
- "5000:80"
networks:
test_network:
external:
name: test_network
volumes:
testsqldata:
driver: local
name: testsqldata
version: "3.7"
services:
testapp:
container_name: testapp
build: .
networks:
- test_network
ports:
- "4200:4200"
- "49153:49153"
volumes:
- "/app/node_modules"
- ".:/app"
networks:
test_network:
external:
name: test_network
前端dockerfile:
FROM node:10.16.3-alpine
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
EXPOSE 4200 49153
CMD npm run start
package.json:
"scripts": {
"ng": "ng",
"start": "ng serve --host 0.0.0.0 --port 4200 --poll 500 --disableHostCheck",
"serve": "ng serve --proxy-config src/proxy.server.config.js",
proxy.server.config.js:
const PROXY_CONFIG = [
{
context: [
'/api',
],
target: 'http://localhost:5000',
secure: false,
logLevel: 'debug',
ws: true,
pathRewrite: {
"^/api": ""
}
}
];
module.exports = PROXY_CONFIG;
从
现在,每个容器都可以查找主机名web或db并返回相应容器的IP地址。例如,web的应用程序代码可以连接到URLpostgres://db:5432 并开始使用Postgres数据库
您应该使用容器名称作为主机名。您应该使用服务名称在容器(而不是本地主机)之间进行连接