使用Docker部署Angular項目的方法步驟
Docker 部署 Angular 項目有兩種方法,一種是服務(wù)端渲染,這個官方文檔已有說明,另一種就是使用 node 鏡像編譯后放入 web 服務(wù)器。由于在 node 環(huán)境,所以使用 express 最為便捷了。
創(chuàng)建 server.js
const express = require('express');
const app = express();
const config = {
root: __dirname + '/dist',
port: process.env.PORT || 4200
};
//靜態(tài)資源
app.use('/', express.static(config.root));
//所有路由都轉(zhuǎn)到index.html
app.all('*', function (req, res) {
res.sendfile(config.root + '/index.html');
});
app.listen(config.port, () => {
console.log("running……");
})
創(chuàng)建 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
# 創(chuàng)建app目錄
RUN mkdir -p /app
# 復制代碼到 App 目錄
COPY . /app
WORKDIR /app
# 安裝依賴,構(gòu)建程序,這里由于我需要反向代理到子目錄,所以添加了base-href參數(shù)
RUN npm install && ng build --base-href /manage/ --prod
EXPOSE ${PORT}
ENTRYPOINT ["node", "/app/server.js"]
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Centos8安裝docker報錯(錯誤提示:All?mirrors?were?tried)的問題
最近總是遇到“All?mirrors?were?tried”的報錯信息,沒辦法,就rm?-rf?/etc/yum.repos.d/*?全部!刪了,下面小編通過本文給大家介紹下Centos8安裝docker報錯(錯誤提示:All?mirrors?were?tried)的問題及解決過程,感興趣的朋友一起看看吧2022-03-03
Docker 倉庫管理和Docker Dockerfile詳解
倉庫(Repository)是集中存放鏡像的地方,以下介紹一下 Docker Hub,當然不止 docker hub,只是遠程的服務(wù)商不一樣,操作都是一樣的,對Docker 倉庫管理相關(guān)知識感興趣的朋友一起看看吧2023-11-11
Docker部署ELK7.3.0日志收集服務(wù)最佳實踐
這篇文章主要介紹了Docker部署ELK7.3.0日志收集服務(wù)最佳實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10
docker安裝ElasticSearch:7.8.0集群的詳細教程
這篇文章主要介紹了docker安裝ElasticSearch:7.8.0集群的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
Docker容器的調(diào)試技巧之docker logs與docker service logs
這篇文章主要介紹了Docker容器的調(diào)試技巧之docker logs與docker service logs,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
docker start啟動容器后仍然exit狀態(tài)的解決
這篇文章主要介紹了docker start啟動容器后仍然exit狀態(tài)的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06

