docker+daocloud實(shí)現(xiàn)前端項(xiàng)目自動(dòng)構(gòu)建部署
項(xiàng)目的自動(dòng)化部署在大公司或獨(dú)角獸中用得比較多,相比來(lái)進(jìn)行手動(dòng)部署項(xiàng)目來(lái)說(shuō)會(huì)更加高效。那么本文結(jié)合之前學(xué)習(xí)的docker知識(shí)點(diǎn)以及nginx來(lái)簡(jiǎn)單實(shí)現(xiàn)VueJs項(xiàng)目的自動(dòng)部署,當(dāng)然針對(duì)其他項(xiàng)目也類似。
運(yùn)行環(huán)境
首先需要在服務(wù)器上進(jìn)行docker、nginx、node等的安裝。便于進(jìn)行后續(xù)的操作。
通過(guò)docker拉取nginx鏡像,命令docker pull nginx
通過(guò)vue-cli初始化一個(gè)項(xiàng)目
可以通過(guò)vue init webpack 項(xiàng)目名稱初始化一個(gè)項(xiàng)目,這里假設(shè)項(xiàng)目名稱是docker-vue,然后在該項(xiàng)目的根目錄新建一個(gè)Dockerfile文件,大致內(nèi)容如下:
FROM nginx:latest #把當(dāng)前打包工程的html復(fù)制到虛擬地址 COPY dist/ /usr/share/nginx/html/ #使用自定義nginx.conf配置端口和監(jiān)聽(tīng) RUN rm /etc/nginx/conf.d/default.conf ADD default.conf /etc/nginx/conf.d/ RUN /bin/bash -c 'echo init ok!!!'
并新建一個(gè)default.conf文件,內(nèi)容如下:
server { # 項(xiàng)目中定義的端口號(hào) listen 8080; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/log/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
自此,基本工作已完成,接下來(lái)就是對(duì)于daocloud.io的基本配置操作了
daocloud.io基本配置操作
若無(wú)賬號(hào),可以先進(jìn)行注冊(cè)daocloud.io。
接下來(lái)的操作分為:
- 創(chuàng)建項(xiàng)目
- 集群管理
- 創(chuàng)建鏡像倉(cāng)庫(kù)
創(chuàng)建項(xiàng)目
這里需要添加項(xiàng)目名稱,設(shè)置代碼源(可以是github、gitlab)等,然后選擇你所需要構(gòu)建的項(xiàng)目,我這里選擇了我自己的github倉(cāng)庫(kù)docker-vue,然后點(diǎn)擊開(kāi)始創(chuàng)建就行。
集群管理
集群管理的主要目的是為了鏈接遠(yuǎn)程服務(wù)器,并通過(guò)命令進(jìn)行daocloud.io鏡像的創(chuàng)建。
選擇新建主機(jī)
由于我自己是購(gòu)買了阿里云服務(wù)器了,系統(tǒng)是ubuntu的,所以就選擇了這樣的配置,然后在服務(wù)器上運(yùn)行:
curl -sSL https://get.daocloud.io/daomonit/install.sh | sh -s e2fa03ebead51076411388c26dff2257dae89768
來(lái)構(gòu)建一個(gè)docker鏡像,如:
主機(jī)創(chuàng)建成功,如下圖所示:
創(chuàng)建鏡像倉(cāng)庫(kù)
進(jìn)入【鏡像倉(cāng)庫(kù)】選擇剛才手動(dòng)構(gòu)建出來(lái)的鏡像,并部署最新版本到自由主機(jī)或者云端測(cè)試環(huán)境
然后在進(jìn)行下面的應(yīng)用設(shè)置:
部署完成后,可通過(guò)服務(wù)器ip+剛才設(shè)置的容器端口號(hào)進(jìn)行訪問(wèn)了。
這樣我們就完成了大部分的操作了,可以通過(guò)查看下docker的容器,就可以看到我們剛才創(chuàng)建鏡像倉(cāng)庫(kù)成功后,就自動(dòng)創(chuàng)建了一個(gè)容器了:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
docker-compose部署eureka服務(wù)端、客戶端的案例代碼
這篇文章主要介紹了docker-compose部署eureka服務(wù)端、客戶端,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03docker nginx ssl設(shè)置的實(shí)現(xiàn)步驟
本文主要介紹了docker nginx ssl設(shè)置的實(shí)現(xiàn)步驟,使用docker運(yùn)行nginx,配置代理,和ssl設(shè)置,進(jìn)行https訪問(wèn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08Docker+Nginx打包部署前后端分離步驟實(shí)現(xiàn)
這篇文章主要介紹了Docker+Nginx打包部署前后端分離步驟實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-01-01Docker跨服務(wù)器通信Overlay解決方案(上)之 Consul單實(shí)例
這篇文章主要介紹了Docker跨服務(wù)器通信Overlay解決方案(上)之 Consul單實(shí)例,本文通過(guò)場(chǎng)景分析實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12nerdctl替代docker及docker-compose的安裝使用
這篇文章主要為大家介紹了nerdctl替代docker及docker-compose的安裝使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06docke-cli的調(diào)試環(huán)境搭建過(guò)程
在搭建docker-cli的調(diào)試環(huán)境時(shí),遇到很多坑,通過(guò)本文講解下搭建docke-cli的調(diào)試環(huán)境的詳細(xì)方法,需要的朋友可以參考下2022-11-11