无法通过本地主机在Nginx中查看角度应用程序项目

时间:2019-08-02 08:19:34

标签: angular docker nginx dockerfile

我确实搜索了如何使用Nginx对一个有角度的应用程序进行docker化。 但是它没有显示在我的http://localhost:8080/http://locahost:8000

下面是我的文件:(Docker文件)

FROM node:10.16.1-alpine as build-stage
COPY . /usr/angular
WORKDIR /usr/angular
RUN npm install
RUN npm run build

#Deploy to NGINX
FROM nginx:1.16.0-alpine as deployment-stage
RUN rm -rf /usr/share/nginx/html/*
COPY --from=build-stage /usr/angular/dist/ldap-web-app/*  /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

然后我在bash中运行命令。

  1. docker build -t ldap-web-app .
  2. docker run -it -p 80:80 --name ldap-web-app ldap-web-app

打开浏览器时,“无法显示页面”。 我错过了什么?请帮忙。谢谢。

2 个答案:

答案 0 :(得分:0)

您将容器的端口80暴露在外面,因此需要在那里连接。 不是8080或8000

“ docker run -it -p 80:80 --name ldap-web-app ldap-web-app”

查看文档-https://docs.docker.com/config/containers/container-networking/#published-ports

-p 8080:80  - Map TCP port 80 in the container to port 8080 on the Docker host.

答案 1 :(得分:0)

您正在将容器的端口80暴露给docker主机,但是您试图在端口80808000上访问它。

假设已成功完成关于nginx的所有设置,

根据您希望Angular App在Docker主机上可用的端口尝试以下命令之一:

http://locahost:8080可用

docker run -it -p 8080:80 --name ldap-web-app ldap-web-app

http://locahost:8000可用

docker run -it -p 8000:80 --name ldap-web-app ldap-web-app

http://locahost可用

docker run -it -p 80:80 --name ldap-web-app ldap-web-app

端口映射应这样声明:

-p CONTAINER:HOST

我建议您阅读official docs