社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

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

stumbler • 5 年前 • 1700 次点击  

我已经为我的角度应用程序写了下面的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
 
1700 次点击  
文章 [ 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/