无法到达 Docker 容器中的 angular 运行
Unable to reach angular running in Docker container
我是 Docker 的新手,请多多包涵。
Docker文件:
FROM node:alpine
WORKDIR '/app'
COPY ./package.json .
EXPOSE 4200
RUN npm i
COPY . .
CMD ["npm","start"]
命令:
docker build -t angu .
docker run -p 4300:4200 angu
我不确定是否需要在 Docker 文件中包含 EXPOSE 4200
。但这两种方式都行不通。
容器内的服务器正在侦听本地主机,这与您计算机上的本地主机不同。容器有自己的本地主机。
要更改应用程序以侦听外部流量,您需要将 --host 0.0.0.0
添加到 package.json
中 npm start
脚本中的 ng serve
命令,如下所示:
"start": "ng server --host 0.0.0.0"
您不需要在您的 Dockerfile 中添加 EXPOSE,因为它实际上并没有做太多,它主要用于文档目的。您已经使用 --p
发布端口。您可以在 this article
中阅读更多相关信息
我是 Docker 的新手,请多多包涵。
Docker文件:
FROM node:alpine
WORKDIR '/app'
COPY ./package.json .
EXPOSE 4200
RUN npm i
COPY . .
CMD ["npm","start"]
命令:
docker build -t angu .
docker run -p 4300:4200 angu
我不确定是否需要在 Docker 文件中包含 EXPOSE 4200
。但这两种方式都行不通。
容器内的服务器正在侦听本地主机,这与您计算机上的本地主机不同。容器有自己的本地主机。
要更改应用程序以侦听外部流量,您需要将 --host 0.0.0.0
添加到 package.json
中 npm start
脚本中的 ng serve
命令,如下所示:
"start": "ng server --host 0.0.0.0"
您不需要在您的 Dockerfile 中添加 EXPOSE,因为它实际上并没有做太多,它主要用于文档目的。您已经使用 --p
发布端口。您可以在 this article