Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular Docker组合问题(EconRefused)_Angular_Docker_.net Core_Docker Compose - Fatal编程技术网

Angular Docker组合问题(EconRefused)

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

我有两个docker compose用于后端.net核心和角度前端。它们应该相互沟通。为此,我尝试了一个网络。但我总是得到以下信息:

尝试将来自localhost:4200的请求/应用信息代理到EconResult时发生[HPM]错误

两个容器都在运行。后端撰写是通过VisualStudio启动的。前端合成是使用powershell启动的

我在前端尝试了端口80和5000。结果是一样的

对于网络,我在没有外部支持的情况下进行了尝试。对于外部网络,我使用docker network create 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
前端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数据库


您应该使用容器名称作为主机名。

您应该使用服务名称在容器(而不是本地主机)之间进行连接