Py学习  »  docker

主机网络上的nginx docker容器不提供angular应用程序

K.Try.Code • 5 年前 • 680 次点击  

我的目标是跑 角度应用 集装箱内 恩吉克斯 . 我希望包含应用程序的容器位于我的主机网络中。

这是我的档案:

# Stage 1
FROM node:10.11.0-alpine as node

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm ci

COPY . .

RUN npm run build

# Stage 2
FROM nginx:1.14-alpine

COPY --from=node /usr/src/app/dist/gui /usr/share/nginx/html

COPY ./nginx.conf /etc/nginx/conf.d/default.conf

NGNX.CONF:

server {
  listen 80;
  server_name 127.0.0.1;
  location / {
    root /usr/share/nginx/html;
    index index.html index.html;
    try_files $uri $uri/ /index.html =404;
  }

  location /api {
    proxy_pass http://localhost:8080/api;
  }
}

还有我的docker-compose.yml文件:

version: "3.5"

services:
  gui:
    container_name: gui
    network_mode: "host"
    build:
        context: gui

$ docker-compose up 启动容器。 但是现在什么都没有 本地主机:80 .

问题在哪里?nginx不提供应用程序吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40105
 
680 次点击  
文章 [ 2 ]  |  最新文章 5 年前
K.Try.Code
Reply   •   1 楼
K.Try.Code    6 年前

看来我写的dockerfile、nginx.conf和docker-compose.yml都写对了。 问题是在角度应用程序中,无法编译,所以 RUN npm run build 失败了。

在本地运行应用程序 npm start 没有显示问题,因为实时重新加载模式处于活动状态。只有完全编译无法完成。

@ Ntwobike 谢谢你的努力。命令 CMD ["nginx", "-g", "daemon off;"] 也没必要。

Ntwobike
Reply   •   2 楼
Ntwobike    6 年前