使用Docker部署Angular项目

Docker部署Angular项目有两种方法,一种是服务端渲染,这个官方文档已有说明,另一种就是使用node镜像编译后放入web服务器。由于在node环境,所以使用express最为便捷了。

创建server.js

const express = require('express');

const app = express();
const config = {
    root: __dirname + '/dist',
    port: process.env.PORT || 4200
};

//静态资源
app.use('/', express.static(config.root));

//所有路由都转到index.html
app.all('*', function (req, res) {
    res.sendfile(config.root + '/index.html');
});
app.listen(config.port, () => {
    console.log("running……");
})

创建Dockerfile

FROM node:13.3.0-alpine3.10

ENV PORT=4200 \
    NODE_ENV=production

# 安装express和angular/cli
RUN npm install express@4.17.1 -g \
    && npm install -g @angular/cli
# 创建app目录
RUN mkdir -p /app
# 复制代码到 App 目录
COPY . /app
WORKDIR /app

# 安装依赖,构建程序,这里由于我需要反向代理到子目录,所以添加了base-href参数
RUN npm install && ng build --base-href /manage/ --prod

EXPOSE ${PORT}

ENTRYPOINT ["node", "/app/server.js"]

《PHP微服务练兵》系列索引:https://blog.csdn.net/donjan/article/details/103005084

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值