连接到Docker中的Angular 应用程序时出现问题

rbpvctlc  于 2022-11-22  发布在  Docker
关注(0)|答案(1)|浏览(152)

我想在一个docker容器中运行一个angular应用程序,在开发模式下,当我做出更改时,它们可能会在本地Web上自动生成。我尝试了各种配置,但我无法连接到端口4200。
停靠文件:

# Dockerfile
FROM node:14.17.1-alpine

WORKDIR /app

ENV PATH /app/node_modules/.bin:$PATH

COPY package.json ./
COPY package-lock.json ./

# Instalamos angular cli en nuestra imágen
RUN npm install -g @angular/cli && npm cache clean

EXPOSE 4200

CMD ["npm", "start"]

构成档案:

frontend:
build: ./frontend
ports:
  - "4200:4200"
container_name: frontend
volumes:
  - "./frontend:/app"
  - "/app/node_modules"
  - "/etc/localtime:/etc/localtime:ro"
environment:
  - CHOKIDAR_USEPOLLING=true

当我运行Docker容器时,它启动得很好。但是当我尝试从浏览器访问localhost:4200时,我得到错误“无法到达此站点”

nimxete2

nimxete21#

您的Angular应用程序可能默认 * 绑定 * 到localhost,这意味着它只接受来自容器内部的连接。
在package.json文件中,start脚本可能被定义为ng serve。它需要是ng serve --host 0.0.0.0。这将允许应用接受来自容器外部的连接。
如果启动脚本不是ng serve,那么请编辑您的帖子并将package.json文件的内容添加到其中。

相关问题