91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker中編譯nodejs并使用nginx啟動

發布時間:2020-08-24 17:30:56 來源:腳本之家 閱讀:278 作者:極客腦司機 欄目:web開發

1.編譯Nodejs

要進行Nodejs編譯,使用docker就變得非常的方便了。

首先從hub.docker.com下載最新的鏡像。https://hub.docker.com/_/node/

docker中編譯nodejs并使用nginx啟動

一般的項目都使用的是node6的鏡像。

docker pull node:6-alpine

然后就可以直接使用npm install了。

Alpine是一個非常小的操作系統,在編譯,運行docker非常喜歡使用這個系統,因為小,占用磁盤小,下載速度快,部署也快。

節省磁盤空間,節省部署時間。

2.使用docker鏡像提前下載庫

但是遇到一個問題,就是下載編譯的時間太長了。

一般使用nodejs進行開發的時候都有一個package.json 里面具體的項目依賴 包,下載這個依賴需要很長時間。一般使用阿里云的鏡像安裝。

npm install --registry=https://registry.npm.taobao.org

而在使用docker 進行構建,編譯的時候每次都是要下載這些依賴。大大增加了編譯的時間。

FROM docker.io/library/node:6-alpine

RUN echo -e "http://mirrors.aliyun.com/alpine/v3.4/main\n\

http://mirrors.aliyun.com/alpine/v3.4/community" > /etc/apk/repositories

COPY package.json /root/

RUN cd /root && npm install --registry=https://registry.npm.taobao.org

可以提前將鏡像下載好,然后在編譯。做一個基礎的鏡像。如下:

構建這個基礎鏡像:

docker build -t my-demo/node6-alpine:latest .

在利用這個鏡像進行編譯:

#!/bin/sh

mkdir /app && cd /app

git clone xxx.git /app

ln -s /root/.gnupg /app/.gnupg

ln -s /root/.npm /app/.npm

ln -s /root/node_modules /app/node_modules

npm install --registry=https://registry.npm.taobao.org

npm run build

build.sh

然后利用這個基礎鏡像進行編譯,生氣了之前的instal 過程。

期中的node_modules是node的模塊文件夾。編譯后的文件在dist文件夾內。

3.使用nginx啟動

首先從https://hub.docker.com/_/nginx/  下載一個鏡像:

docker中編譯nodejs并使用nginx啟動

FROM docker.io/library/nginx:1-alpine

ADD ./dist/* /usr/share/nginx/html/

EXPOSE 80

ENTRYPOINT ["nginx","-g","daemon off;"]

使用nginx鏡像啟動,直接將node編譯后的文件放到html目錄

編譯docker :

docker build -t my-demo/nginx:latest .

啟動docker:

docker run -itd -p 8080:80 my-demo/nginx:latest

然后直接訪問 8080 端口就可以了。

總結:

(首發,請勿轉載。)

現在前后端的拆分,可以提高開發效率。但是部署起來稍微麻煩,需要前后的分別進行編譯,前端編譯也需要很長時間。可以提前將依賴庫大成一個node基礎鏡像,然后再進行編譯,這樣可以大大的提高編譯時間。同時運行環境使用一個nginx,將html,css,js等資源文件都放上,也才20多MB。而且在nginx中也可以將后臺api在進行配置,將前后端集成進來。同時docker的鏡像大大的提高了開發效率,環境的安裝問題一下子得到了解決。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

SHOW| 岳池县| 赣榆县| 仙桃市| 大荔县| 光泽县| 德昌县| 民丰县| 迭部县| 武冈市| 闽清县| 苏尼特右旗| 会理县| 嘉峪关市| 宜宾市| 凤山县| 东明县| 巴彦县| 商水县| 宝应县| 神池县| 固镇县| 邻水| 札达县| 平顶山市| 宜兴市| 吐鲁番市| 仁寿县| 阜城县| 西城区| 湘潭市| 闸北区| 宜宾市| 安国市| 古丈县| 拜城县| 双鸭山市| 鄂温| 呼和浩特市| 洛川县| 科技|