【发布时间】:2020-11-23 02:12:11
【问题描述】:
Docker 新手在这里。 Docker-compose 文件构建没有任何问题,但是当我尝试在 localhost:4200 上运行我的应用程序时,我收到一条消息 - localhost 没有在 chrome 上发送任何数据,并且服务器意外断开了 safari 中的连接。我正在开发 MacOs Catalina。这是我的 yml 文件:
version: '3.0'
services:
my-portal:
build: .
ports:
- "4200:4200"
depends_on:
- backend
backend:
build: ./backend
ports:
- "3000:3000"
environment:
POSTGRES_HOST: host.docker.internal
POSTGRES_USER: "postgres"
POSTGRES_PASSWORD: mypwd
depends_on:
-db
db:
image: postgres:9.6-alpine
environment:
POSTGRES_DB: mydb
POSTGRES_USER: "postgres"
POSTGRES_PASSWORD: mypwd
POSTGRES_HOST: host.docker.internal
ports:
- 5432:5432
restart: always
volumes:
- ./docker/db/data:/var/lib/postgresql/data
Angular 日志:
/docker-entrypoint.sh:配置完成;准备启动 节点日志:已连接数据库 Postgres 的日志:数据库系统已准备好接受连接
以下是我的 Angular 和 Node Docker 文件:
FROM node:latest AS builder
WORKDIR /app
COPY . .
RUN npm install
RUN npm run build --prod
EXPOSE 4200
# Stage 2
FROM nginx:alpine
COPY --from=builder /app/dist/* /usr/share/nginx/html/
节点:
FROM node:12
WORKDIR /backend
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD [ "node", "server.js" ]
当我创建 Angular 图像并在 localhost:4200 上运行我的应用程序时,它运行良好。如果我遗漏了什么,请告诉我。
【问题讨论】:
标签: node.js angular docker docker-compose yaml