docker部署vue項目的實現(xiàn)步驟
前戲
當我們在本地開發(fā)了一個vue項目之后,肯定是想部署到服務器上供其他人訪問,之前介紹過使用cntos7+nginx部署項目,今天讓我們來使用docker來部署我們的前端項目,首先你已經安裝好了docker,并熟悉基本的docker命令。
部署
獲取nginx鏡像
docker pull nginx
創(chuàng)建 nginx config配置文件
在項目根目錄下創(chuàng)建文件default.conf,寫入如下內容
server {
listen 80;
server_name localhost; # 修改為docker服務宿主機的ip
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}該配置文件定義了首頁的指向為/usr/share/nginx/html/index.html, 所以我們可以一會把構建出來的index.html文件和相關的靜態(tài)資源放到/usr/share/nginx/html目錄下。

創(chuàng)建Dockerfile文件
在項目根目錄下創(chuàng)建Dockerfile文件,寫入下面內容
FROM nginx MAINTAINER zouzou RUN rm /etc/nginx/conf.d/default.conf ADD default.conf /etc/nginx/conf.d/ COPY dist/ /usr/share/nginx/html/
說明
- FROM nginx:該鏡像是基于nginx:latest鏡像構建的
- MAINTAINER zouzou:添加說明
- RUN rm /etc/nginx/conf.d/default.conf:刪除目錄下的default.conf文件
- ADD default.conf /etc/nginx/conf.d/:將default.conf復制到/etc/nginx/conf.d/下,用本地的default.conf配置來替換nginx鏡像里的默認配置
- COPY dist/ /usr/share/nginx/html/:將項目根目錄下dist文件夾(構建之后才會生成)下的所有文件復制到鏡像/usr/share/nginx/html/目錄下

生成生成環(huán)境包
首先確保安裝了node.js,npm可用
在項目根目錄下執(zhí)行下面命令(和package.json文件同級)
安裝依賴
npm install
構建
npm run build
執(zhí)行結束之后會在項目根目錄下生成一個dist的文件夾

構建docker鏡像
docker build -t zz-mms .
注意不要少了最后的“.”(點)
-t是給鏡像命名,.(點)是基于當前目錄的Dockerfile來構建鏡像

查看本地鏡像
docker images | grep zz-mms

到這里我們的vue應用鏡像已經創(chuàng)建成功,接下來,我們基于該鏡像啟動一個docker容器
啟動docker容器
docker run -d -p 9090:80 --name mms zz-mms

- docker run:基于鏡像啟動一個容器
- -d:后臺方式啟動
- -p 9090:80: 端口映射,將宿主機的9090端口映射到容器的80端口
- --name:容器名,我起的叫mms
- zz-mms:要啟動的鏡像名稱
查看啟動的容器
docker ps

訪問
現(xiàn)在我們已經啟動了,訪問宿主機的地址:9090就可以看到我們部署的網站了

跨域
如果你的后端接口是在別的服務器上部署的,這時候我們的default.conf就要加一個反向代理,使用下面的default.conf,然后重新構建docker鏡像,啟動
server {
listen 80;
server_name 49.235.160.132; # 修改為docker服務宿主機的ip
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
location /pro-api{ # pro-api是vue項目里.env.production里的地址
proxy_pass 1.1.1.1; # 這里寫的是你后端接口的地址
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
到此這篇關于docker部署vue項目的實現(xiàn)步驟的文章就介紹到這了,更多相關docker部署vue內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
使用docker-compose,如何調整JVM參數(shù)
這篇文章主要介紹了使用docker-compose,如何調整JVM參數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
Docker網段和內網網段ip沖突導致無法訪問網絡的兩種解決方法
本文主要介紹了Docker網段和內網網段沖突導致無法訪問網絡的兩種解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-06-06
docker創(chuàng)建mongodb容器存儲數(shù)據步驟詳解
這篇文章主要為大家介紹了docker創(chuàng)建mongodb容器存儲數(shù)據步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10

