现在的项目肯定都离不开Docker,只要是流水线部署就会涉及Dockerfile文件,那么如何正确的编写一个Dockerfile文件。
以Vue项目、Nginx部署为例:
涉及node安装依赖、build打包、nginx部署:
# 使用Node.js镜像,as build别名构建阶段
From node:14 AS build
# 指定构建目录
WORKDIR /holmes-center-front
# 复制 package*.json 和 package-lock.json
COPY package*.json./
# 安装项目依赖
RUN npm install
# 将宿主机的所有文件,放到指定的WORKDIR工作目录里面来
COPY ..
#执行 npm run build:prod 命令
RUN npm run build:prod
# 使用官方的Nginx镜像
FROM nginx:latest
# 将宿主机的 nginx.conf 文件复制到容器中的 /etc/nginx/ 目录
COPY docker/nginx/nginx.conf /etc/nginx/nginx.conf
# 从第一build阶段获取dist下的文件移动到容器中的 /usr/share/nginx/html/ 目录
COPY --from=build /holmes-center-front/dist /usr/share/nginx/html/
# 暴露 Nginx 监听的端口,一般为 80,但这里因为是https协议所以要暴露443端口!
EXPOSE 443
# 启动 Nginx 服务
CMD ["nginx", "-g", "daemon off;"]