gpt4 book ai didi

docker - Dockerfile:为什么没有端口公开或RUN命令? (nginx上的Angularx dockerfile)

转载 作者:行者123 更新时间:2023-12-02 19:06:26 29 4
gpt4 key购买 nike

我正在设置一个docker容器,将在this article之后在nginx服务器上为我的Angular 5应用程序提供服务。

本文提出了这个Dockerfile:

# Stage 0, based on Node.js (for npm) to build and compile the Angular application.
FROM node:8.11.2 as node
WORKDIR /app
COPY package.json /app/
RUN npm install
COPY ./ /app/

ARG env=prod
# For Angular 6: ARG conf=production
RUN npm run build -- --prod --environment $env
# For Angular 6: RUN npm run build --configuration $conf

# Stage 1, based on Nginx, to have only the compiled app, ready for production with Nginx
FROM nginx:1.15
COPY --from=node /app/dist/ /usr/share/nginx/html
COPY ./nginx-custom.conf /etc/nginx/conf.d/default.conf

我想知道:为什么不包括以下内容?
  • 端口公开指令(例如EXPOSE 80)和
  • 一个nginx运行命令(例如RUN /usr/bin/nginx)

  • 本文不讨论以任何其他方式启动nginx服务器。

    最佳答案

    a port exposing instruction (e.g. EXPOSE 80)



    EXPOSE 指令比其他任何东西都更多的文档。当您使用 -p 80:80运行容器时, documentation for the nginx image告诉您发布端口,不需要 EXPOSE指令。 EXPOSE 80将允许您出于相同目的使用 -P

    a nginx run command (e.g. RUN /usr/bin/nginx)



    nginx image为您做到了:)

    关于docker - Dockerfile:为什么没有端口公开或RUN命令? (nginx上的Angularx dockerfile),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50716376/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com