Py学习  »  docker

角度应用程序未从docker-compose.yml文件运行

stumbler • 5 年前 • 1670 次点击  

我已经为我的角度应用程序写了下面的docker文件。

Dockerfile:

# base image
FROM node:10.16.0-alpine AS build-step
# set working directory
WORKDIR /app
COPY package.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx:1.16.1-alpine
COPY --from=build-step /app/dist/* /usr/share/nginx/html/
EXPOSE 4100
CMD ["nginx","-g","daemon off;"]

Docker镜像创建成功。

version: '3'
services:
  applicationui:
    image:  applicationui
    build: /
    network_mode: host
    container_name: angular-container
    ports:
      - 4200:4100 

当我用localhost:4200点击浏览器时,执行docker compose up之后,页面没有打开。

运行docker组合 enter image description here 知道我错过了什么吗?

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

ports: 如果你设置了 network_mode: host . 此设置经常作为Docker网络问题的解决方案被抛出,在这里不应该是必需的。把那条线去掉。(您也可以安全地移除 container_name: image: 没有任何不良影响。)

Adiii
Reply   •   2 楼
Adiii    5 年前

您没有覆盖Dockerfile中的Nginx配置,因此端口的实际问题是,Nginx默认监听 PORT 80

EXPOSE 80

作为Nginx默认监听端口 80 4100 就像你期待的Nginx的角度发球等。

所以最好用曝光 80个 这将增加可读性,@David提到,如果设置network_mode:host,则不会有任何效果。

打开浏览器 80个 它应该能起作用。

或者可以绑定所需的端口,而不必在docker compose中提到主机网络

    ports:
      - 4200:80 

http://localhost/