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

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

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

 

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

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

 

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

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

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

下載

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

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

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

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

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

 

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

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

截圖 2022-02-10 下午4.32.20

然後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 做確認

截圖 2022-02-10 下午6.11.08

 

然後,確認一下vue環境

vue --version

截圖 2022-02-10 下午6.12.02

 

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

vue create vuedocker

 

然後選擇vue3配置

截圖 2022-02-09 下午5.01.38

 

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

截圖 2022-02-10 下午6.16.47

 

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

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

 


 

2. 撰寫Dokerfile

 

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

截圖 2022-02-10 下午6.53.17

然後在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的名字,照你喜歡的取就好

跑完後會像這樣

截圖 2022-02-10 下午7.19.37

這時候,你可以輸入

docker images

會有以下畫面

截圖 2022-02-10 下午7.23.52

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

截圖 2022-02-10 下午7.24.34

 

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

請在終端機輸入以下指令

docker run -p 80:80 -it --name vuedocker vuedocker

截圖 2022-02-10 下午7.27.28

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

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

docker ps -a

截圖 2022-02-10 下午7.33.03

 

確認有docker container後,鍵入

docker start vuedocker

截圖 2022-02-10 下午7.46.03

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

 

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

docker stop vuedocker

 

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

截圖 2022-02-10 下午8.01.32

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

 


 

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

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

那麼最後...

TK

arrow
arrow

    碼農日常 發表在 痞客邦 留言(14) 人氣()