使用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 # 復(fù)制代碼到 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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(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-03Docker 倉庫管理和Docker Dockerfile詳解
倉庫(Repository)是集中存放鏡像的地方,以下介紹一下 Docker Hub,當(dāng)然不止 docker hub,只是遠程的服務(wù)商不一樣,操作都是一樣的,對Docker 倉庫管理相關(guān)知識感興趣的朋友一起看看吧2023-11-11Docker部署ELK7.3.0日志收集服務(wù)最佳實踐
這篇文章主要介紹了Docker部署ELK7.3.0日志收集服務(wù)最佳實踐,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10docker安裝ElasticSearch:7.8.0集群的詳細教程
這篇文章主要介紹了docker安裝ElasticSearch:7.8.0集群的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03Docker容器的調(diào)試技巧之docker logs與docker service logs
這篇文章主要介紹了Docker容器的調(diào)試技巧之docker logs與docker service logs,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01docker start啟動容器后仍然exit狀態(tài)的解決
這篇文章主要介紹了docker start啟動容器后仍然exit狀態(tài)的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06