我有一个简单的vue.js应用程序,我想使用Dockerfile来构建它:
FROM node:14.14.0-stretch
WORKDIR '/app'
COPY package*.json ./
RUN npm install
COPY . ./
RUN env
RUN npm run generate现在有没有可能,使用docker- compose,在compose中不构建它,而是使用已经准备好的镜像,从volume dist文件夹中获取?所以我可以把它复制到nginx?
发布于 2020-10-21 04:39:41
我建议你使用nginx来提供dist文件夹。您应该对此https://docs.docker.com/develop/develop-images/multistage-build/使用多阶段构建
文档文件
FROM node:14.14.0-stretch as build
WORKDIR '/app'
COPY package*.json ./
RUN npm install
COPY . ./
RUN env
RUN npm run generate
# create cdn stage from nginx image
FROM nginx:stable-alpine as cdn
# copy nginx config to serve files from /data/www
COPY nginx.conf /etc/nginx/nginx.conf
# copy built files from build stage to /data/www
COPY --from=build /app/dist /data/www
# nginx listen on port 80
EXPOSE 80
CMD [ "nginx" ]nginx.conf
events {
worker_connections 1024;
}
http {
server {
location / {
root /data/www;
}
}
}docker-compose.yml
version: '2.4'
services:
nginx-cdn:
build:
context: path/to/Dockerfile
target: cdn
ports:
- '80:80'https://stackoverflow.com/questions/64415174
复制相似问题