Docker部署Angular應用

2021-10-10 23:16:03 字數 1383 閱讀 4522

寫在最前面 首先是我的目錄結構 你要新建的是dockerfile和nginx-angular.conf

在 angular 專案的根目錄下面建立乙個 dockerfile 檔案,內容如下

#設定乙個基本的映象,from 後面是映象的名字,這個映象是 docker 官方提供的,這個映象裡面包含了 node.js,可以在node後跟冒號 申明東映象版本。as builder 是給它起了個別名

from node as builder

#這一步做的事情就是把在本地上的 angular 應用複製到映象裡面。

copy . .

#執行了一下 npm install 命令,也就是安裝 angular 專案需要的所有的東西

run npm install

#它執行的是 ng build --prod,作用就是構建乙個適合在生產環境上執行的 angular 應用

run npm run build -

-prod

from nginx:

1.17

#你需要將這裡的angulardemo10換成你執行ng build在dist下生成的目錄 一般是你的專案名稱

copy -

#設定使用者標籤

label maintainer="konsy"

#這是將你配置好的nginx配置替換docker裡預設的nginx 建議學習nginx

copy ./nginx-angular.conf /etc/nginx/conf.d/default.conf

server 

}

然後在angular專案目錄執行

在 angular 專案的根目錄下,可以再準備乙個 docker-compose.yml 檔案,內容如下:

version

:'3'

services

:angular

:build

: . ports

:- 3333:

80

在這個 docker-compose 檔案裡,我新增了乙個名字是 angular 的服務,一般在服務裡可以直接指定要使用的映象,不過我希望可以在伺服器上構建映象,所以就用了乙個 build ,根據專案下面的 dockerfile 自己構建乙個映象,再基於這個映象建立乙個服務容器。

在 ports 下面配置了乙個公開的埠,本地埠是 3333,對應的服務容器裡的埠是 80(nginx 服務用的預設的埠號)。這樣在伺服器上安裝的 nginx 那裡配置的反向**,可以配置把請求**到本地主機的 3333 這個埠上。

使用Docker部署Angular專案的方法步驟

docker 部署 angular 專案有兩種方法,一種是服務端渲染,這個官方文件已有說明,另一種就是使用 node 映象編譯後放入 web 伺服器。由於在 node 環境,所以使用 express 最為便捷了。建立 server.js const express require express c...

docker部署 docker環境部署mysql

蘇軾 這裡我拉取了tag為5.7的映象 docker pull mysql 5.7因為需要自定義mysql的配置,所以需要乙個配置目錄 因為需要將mysql生成的資料掛載到本地,所以需要乙個資料目錄 建立mysql 資料目錄mkdir p root mysql data 建立配置檔案 touch r...

docker部署部署心得

一 涉及檔案 centos centos7.tar.gz docker中centos映象壓縮包 docker.tar.gz docker 安裝包 jre 8u131 linux x64.rpm 生成cloudlicense映象時要用到 由於找不到openjdk,安裝映象,用這個替代 dockerfi...