【发布时间】:2021-01-10 03:32:36
【问题描述】:
我正在寻找正确的 docker 文件的解决方案,但是当我在浏览器上写 localhost:8080 时,我可以看到 nginx,但在浏览器上看不到默认的 angular 网站。我可以用我的 Docker 文件做什么。怎么了?
FROM node:12.8-alpine AS builder
WORKDIR /app
RUN npm install
COPY . .
RUN npm run build
# Step 2: Use build output from 'builder'
FROM nginx:stable-alpine
LABEL version="1.0"
COPY nginx.conf /etc/nginx/nginx.conf
WORKDIR /usr/share/nginx/html
COPY --from=builder . /app
CMD ["nginx", "-g", "daemon off;"]
【问题讨论】:
-
除了正确的 Dockerfile 之外,还需要正确运行容器。如果你想从你机器上运行的浏览器访问
localhost:8080上的服务,你需要publish that port,这是在运行时发生的事情。这不是你的 Dockerfile 中的内容。 -
您最后的
COPY行正在复制到Nginx 映像中的/app,而不是您在上一行中设置的WORKDIR。你的意思是让参数以相反的顺序排列,COPY --from=builder /app .?
标签: angular docker nginx devops