前端项目发布主要用到nginx和node两个镜像,可在官方的Docker Hub找到相应的版本拉取使用。

构建镜像

拉取官方镜像之前,可通过项目下的Dockerfile文件对将要构建的镜像进行配置,在官方镜像的基础上实现定制化。

使用nginx镜像发布的前端项目的Dockerfile常用配置:

# 设置从公共仓库拉取的基础镜像、版本、别名
FROM nginx:latest
# 添加本地文件、目录或远程文件到镜像下的目录
ADD ./dist /usr/share/nginx/html

使用node镜像发布的前端项目的Dockerfile常用配置:

FROM node:latest
# 设置工作文件夹用作命令执行目录
WORKDIR /usr/src/app/node
# 复制文件或目录
COPY package*.json ./
# 执行命令
RUN npm install
COPY . .
# 设置监听端口
EXPOSE 8080
# 提供默认执行入口
CMD ["node", "server.js"]

完成配置后,运行如下命令,开始构建镜像:

docker build --tag fe:latest .

运行容器

镜像构建完成后,可以通过docker run命令和一些参数运行容器,也可以通过docker-compose的配置更方便快捷地运行容器。

在前端项目中新建docker-compose.yml,配置如下:

# docker-compose版本
version: '3.8'
services:
    nginx:
        # 指向构建好的镜像
        image: fe:latest
        # 映射端口
        ports:
            - 8080:80
        # 本地目录挂载至容器目录
        volumes:
            - ./dist:/usr/share/nginx/html

在前端项目下运行docker-compose up,启动完成后,即可访问前端应用。


JaredWang
350 声望3 粉丝