碼農日常-『Vue3』如何透過Docker打包Vue3成品

更新 發佈閱讀 5 分鐘

最近從我原本的工作崗位離開了,頓時心情輕鬆很多

不果取而代之的是,接下來要做什麼,是我在煩惱的問題

畢竟由於之後有出國留學的規劃,不過因為卡疫情的緣故,暫時無法如願

好啦,以上只是我的碎碎念,不認識我的人大概不知道我在講什麼

今天這篇算是我離職之後的第一篇文章,日後會繼續寫關於網頁開發的東西,請多指教囉:D

ok廢話說完了,接下來是正篇

今天要來聊聊關於在Vue3環境底下使用docker打包的方法

Docker是一種虛擬容器,其實我很喜歡他的Icon

vocus|新世代的創作平台

我覺得這個Icon很好地表達了他的用途-把APP連同環境一同打包後部署在實踐環境的一套工具

尤其在寫網頁的時候,要部署網頁到實際的主機時,往往還要在主機上設定東設定西

以前端開發來說,要在主機上運行還得裝node或者相關程式語言套件等等等

如果你的主機有多重用途,你還得想辦法讓這些套件不要互相打架

一來一往間其實造成了上架的不少負擔

而Docker就很好地解決了這個問題,在自身原有的電腦上把所有東西都模組化後,直接一口氣搬到主機上,並使其開始運行,就是Docker的迷人之處

那麼今天要實作的,就是我們建立一個Vue3的專案,然後原封不動地把他包裹進Docker,並運作在本地電腦中

vocus|新世代的創作平台

然後Github範例在此

->https://github.com/thumbb13555/BlogVueExample/tree/main/vuedocker-example

好,來吧!


1. 確認環境&開一個Vue專案

在開始之前,首先必須確保你的電腦有安裝docker

安裝的部分,如果使用桌面版,下載地址在這裡

->https://www.docker.com/products/docker-desktop

至於如果要使用指令下載指令,那可以使用以下指令

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

然後輸入

docker-v 
vocus|新世代的創作平台

然後,確認一下vue環境

vue --version
vocus|新世代的創作平台

基本上,以上兩者就是必要準備的,確認以上都完成後就是建立一個Vue專案

vue create vuedocker

然後選擇vue3配置

vocus|新世代的創作平台

跑完後,使用npm run serve來確認專案初始是否完整

vocus|新世代的創作平台

OK到此,大致就已經完成了初步

那麼接下來就要來實際把這些東西放進docker


2. 撰寫Dokerfile

接下來,在專案底下新增一個「DockerFile」的檔案(不需要副檔名,Dockerfile即可,字跟大小寫都要打對)

vocus|新世代的創作平台

然後在Dockerfile裡面,填入以下程式

Dockerfile

FROM node:lts-alpine as build-stage
WORKDIR /app
COPY package.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx:stable-alpine as production-stage
COPY --from=build-stage /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

然後在終端機輸入這行

docker build -t vuedocker .

(後面的.要記得加喔!)

「vuedocke」是image的名字,照你喜歡的取就好

跑完後會像這樣

vocus|新世代的創作平台

這時候,你可以輸入

docker images

會有以下畫面

vocus|新世代的創作平台

或者可以打開docker桌面版,點選images

vocus|新世代的創作平台

再來,要將它變成container,並且執行

請在終端機輸入以下指令

docker run -p 80:80 -it --name vuedocker vuedocker
vocus|新世代的創作平台

這時候建立的container會執行,但是按下control+c會停止,怎麼辦?

首先,為要確認是否已經成為了container,請先鍵入以下指令

docker ps -a

vocus|新世代的創作平台

確認有docker container後,鍵入

docker start vuedocker
vocus|新世代的創作平台

這時候網頁就成功執行囉!

那如果想停止的話,請鍵入

docker stop vuedocker

而這些操作,實際上也都可以使用介面來做

vocus|新世代的創作平台

不過未來上架,這些東西也得用Linux指令下去完成,總之就都學起來吧!

Ok,寫到這邊,應該是可以順利以loalhost開啟網頁了

等之後把整套系統移植到生產環境後,其localhost就會換成你的ip,或者是你的域名囉

那麼最後...

vocus|新世代的創作平台



留言
avatar-img
碼農日常大小事的沙龍
15會員
3內容數
2022/03/31
第二課:學習關於加密貨幣的知識以及實作操作質押驗證人
Thumbnail
2022/03/31
第二課:學習關於加密貨幣的知識以及實作操作質押驗證人
Thumbnail
2022/03/28
第一課:認識LikeCoin的前世今生與學會LikerLand & stake.like網站
Thumbnail
2022/03/28
第一課:認識LikeCoin的前世今生與學會LikerLand & stake.like網站
Thumbnail
2022/02/26
想要用寫文章賺入一桶金嗎?來報名!
Thumbnail
2022/02/26
想要用寫文章賺入一桶金嗎?來報名!
Thumbnail
看更多
你可能也想看
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
📔心得 一直以來都在使用container下去跑測試環境,所以都是使用docker指令下去做除錯,最近因緣際會下找到這一款可以透過UI看全部的container狀態,真的覺得好用到爆炸,所以來介紹一下這款容器化管理神器。 基本上能用docker指令做到的事情,portainer都能做到,像是doc
Thumbnail
📔心得 一直以來都在使用container下去跑測試環境,所以都是使用docker指令下去做除錯,最近因緣際會下找到這一款可以透過UI看全部的container狀態,真的覺得好用到爆炸,所以來介紹一下這款容器化管理神器。 基本上能用docker指令做到的事情,portainer都能做到,像是doc
Thumbnail
進入官方網站,根據自己電腦的作業系統,選擇適合的安裝檔。 切記,注意一下基本的配備要求
Thumbnail
進入官方網站,根據自己電腦的作業系統,選擇適合的安裝檔。 切記,注意一下基本的配備要求
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
為什麼要用Docker安裝? Docker是一個容器化平台, 就類似於我們早期虛擬機的VMWare、Virtual Box…等, 虛擬機平台一般, 只是面向的是伺服端, 供企業快速、簡單、輕量的佈署開發完成的程式軟體, 並將相關的環境依賴皆封裝成一包所謂的映像檔(image), 透過這樣的方式減少因
Thumbnail
為什麼要用Docker安裝? Docker是一個容器化平台, 就類似於我們早期虛擬機的VMWare、Virtual Box…等, 虛擬機平台一般, 只是面向的是伺服端, 供企業快速、簡單、輕量的佈署開發完成的程式軟體, 並將相關的環境依賴皆封裝成一包所謂的映像檔(image), 透過這樣的方式減少因
Thumbnail
上篇我們在安裝 VirtualBox 練習使用虛擬化切割出獨立空間做開發,那除了使用 VM 達到虛擬化外,另一個輕量級的虛擬化技術 - 容器化。 要使用容器,那就不能不認識 Docker
Thumbnail
上篇我們在安裝 VirtualBox 練習使用虛擬化切割出獨立空間做開發,那除了使用 VM 達到虛擬化外,另一個輕量級的虛擬化技術 - 容器化。 要使用容器,那就不能不認識 Docker
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
限時好文,歡迎支持,讓阿Han給你最貼近業界的開發實戰教學… 為什麼不害怕犯錯很重要? 開發的過程中我們最害怕的就是我的程式把系統搞掛了…,這樣一來重新安裝作業系統的成本非常高,包括還原也是,我想這會阻礙我們學習的動力,那究竟有什麼樣的技術能夠讓我們開發的同時也能夠勇於犯錯呢? 答案就是「容器化」
Thumbnail
限時好文,歡迎支持,讓阿Han給你最貼近業界的開發實戰教學… 為什麼不害怕犯錯很重要? 開發的過程中我們最害怕的就是我的程式把系統搞掛了…,這樣一來重新安裝作業系統的成本非常高,包括還原也是,我想這會阻礙我們學習的動力,那究竟有什麼樣的技術能夠讓我們開發的同時也能夠勇於犯錯呢? 答案就是「容器化」
Thumbnail
前言 前篇把 Ubuntu 作業系統的安裝跟準備談完了,有需要可以跳回去看。接下來聊容器服務 Docker 的安裝與使用。 Docker 可以應用的場合很多,這次是會用它來模擬 Android 受測裝置
Thumbnail
前言 前篇把 Ubuntu 作業系統的安裝跟準備談完了,有需要可以跳回去看。接下來聊容器服務 Docker 的安裝與使用。 Docker 可以應用的場合很多,這次是會用它來模擬 Android 受測裝置
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News