先初始化一个vue3项目``
# 初始化项目
npm init vue@latest
# 项目名字随便起
# 进入项目 cd
## 安装依赖
yarn install
## 运行项目
yarn dev
打包项目
yarn build
# 打包目录为dist,使用serve启动一下
serve -s dist
可以看到跟dev是一样的
将上述命令通过以下几步翻译为一个 Dockerfile:
- 选择一个基础镜像。由于需要在容器中执行构建操作,我们需要 node 的运行环境,因此 FROM 选择 node。
- 将以上几个脚本命令放在 RUN 指令中。
- 启动服务命令放在 CMD 指令中。 ```shell FROM node:14-alpine
WORKDIR /code
ADD . /code RUN yarn && npm run build
CMD npx serve -s build EXPOSE 3000
**缓存优化**
```shell
FROM node:14-alpine as builder
WORKDIR /code
# 单独分离 package.json,是为了安装依赖可最大限度利用缓存
ADD package.json yarn.lock /code/
RUN yarn
ADD . /code
RUN npm run build
# 选择更小体积的基础镜像
FROM nginx:alpine
COPY --from=builder code/dist /usr/share/nginx/html
version: "3"
services:
simple:
build:
context: .
dockerfile: simple.Dockerfile
ports:
- 4000:80
使用 docker-compose up —build simple 启动容器。
访问 http://localhost:4000 页面成功。