將Docker image部屬到Minikube

更新 發佈閱讀 6 分鐘

續上篇使用Minikube安裝Kubernetes

1. 建立docker image

首先,寫一個Node.js的簡單web程式,index.js:

const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Vic’s Hello World!');
});
app.listen(5000, () => {
console.log('Listening on port 5000!');
});

可使用此指令來執行,看看有無問題:

$ node index.js


若沒有安裝nodejs記得先安裝:

$ sudo apt install nodejs


若沒有npm記得安裝:

$ sudo apt install npm


因為有用到express module記得安裝:

$ npm install express


確定都有安裝後,執行index.js:

vocus|新世代的創作平台


將著寫一個Dockerfile,內容如下:

FROM node:8.9-alpine
RUN mkdir -p /hello_world
WORKDIR /hello_world
COPY index.js /hello_world
RUN npm install express
EXPOSE 5000
CMD [ "node", "index.js" ]


將Dockerfile跟index.js放在同一個path:

vocus|新世代的創作平台



接著執行Dockerfile build docker image:

$ docker build -t vic/hello_world .


用指令確認 image 是否存在:

$ docker images |grep hello_world
=> 用關鍵字找
$ docker images
=> 列出全部
vocus|新世代的創作平台


使用docker run 建立並執行container,之後使用curl測試web app,可看到成功得到reponse: Vic’s Hello World!
測試完畢後停止container。

$ docker run --name hello_world -d -p 3000:5000 vic/hello_world
$ curl localhost:3000
$ docker stop hello_world

#-name表示container的別名,-d表示在背景執行container,-p為port mapping(主機port:容器port)。


列出所有container:

$ docker ps -a 
vocus|新世代的創作平台

2. 將docker image部屬到minikube

雖然 image 和 Kubernetes 都是在本機,但是 Kubernetes 要取得 image ,需要透過 image repository,如 DockerHub。

不過透過這種方式,可以讓minikube 用本機上的 image 來部署:

$ minikube start --driver=docker
=> 先啟動minikube
$ eval $(minikube docker-env)


在minikube建立pod:

$ kubectl run hello-world --image=vic/hello_world --restart=Never --image-pull-policy=Never

# --image-pull-policy=Never 表示要使用本機的image。


查看pods:

$ kubectl get pods
vocus|新世代的創作平台

接下來使用minikube ssh驗證看看:

$ POD=$(kubectl get pods hello-world -o wide -o custom-columns=IP:status.podIP --no-headers)
=>取得pod ip
$ minikube ssh curl $POD:5000
vocus|新世代的創作平台
vocus|新世代的創作平台

這樣就成功部屬app到minikube囉!

#Note:

刪除pod:

$ kubectl delete pods hello-world



下一篇,透過NodePort service直接連線k8s pod中的app。


本筆記參考:
1. https://medium.com/brobridge/%E6%AD%A5%E6%AD%A5%E9%A9%9A%E5%BF%83-%E5%BE%9E%E9%A0%AD%E9%83%A8%E7%BD%B2%E6%9C%8D%E5%8B%99%E5%88%B0-kubernetes-%E3%84%A7-c8f7866bfd0


留言
avatar-img
Vic Lin的沙龍
20會員
161內容數
Vic Lin的沙龍的其他內容
2023/08/13
父元件 傳遞方法使用@ <template>    ...    <Login @modalClose="modalClose"/> ... </template> <script setup>     const _modal = ref();     function m
2023/08/13
父元件 傳遞方法使用@ <template>    ...    <Login @modalClose="modalClose"/> ... </template> <script setup>     const _modal = ref();     function m
2023/03/25
前情提要 由於我的筆電已經用了10年,無法再戰下去了,且有預算考量,加上使用電腦幾乎都是定點,只有偶爾回家的時候會需要攜帶,因此最終選擇了迷你電腦,體積小不占空間,又方便攜帶,剛好符合我的需求。 菜單 由於這台無法裝獨顯,所以CPU的部分選擇 AMD R5 3400G(含Vega 11內
Thumbnail
2023/03/25
前情提要 由於我的筆電已經用了10年,無法再戰下去了,且有預算考量,加上使用電腦幾乎都是定點,只有偶爾回家的時候會需要攜帶,因此最終選擇了迷你電腦,體積小不占空間,又方便攜帶,剛好符合我的需求。 菜單 由於這台無法裝獨顯,所以CPU的部分選擇 AMD R5 3400G(含Vega 11內
Thumbnail
2023/03/10
Nuxt3中可使用useFetch來獲取數據,不須再引用axios,相當方便: 本筆記參考: https://juejin.cn/post/7104071421160063012 https://juejin.cn/post/7086472647575339045
2023/03/10
Nuxt3中可使用useFetch來獲取數據,不須再引用axios,相當方便: 本筆記參考: https://juejin.cn/post/7104071421160063012 https://juejin.cn/post/7086472647575339045
看更多
你可能也想看
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
簡介 因常會在新機器跑container,藉此紀錄安裝過程,順便寫下腳本安裝懶人包 安裝docker 檢查系統中是否已經安裝了docker 執行:ps -ef |grep docker 如上圖所示,說明系統中並沒有安裝docker 添加docker-ce倉庫 安裝yum倉庫管理工具 配置docker
Thumbnail
簡介 因常會在新機器跑container,藉此紀錄安裝過程,順便寫下腳本安裝懶人包 安裝docker 檢查系統中是否已經安裝了docker 執行:ps -ef |grep docker 如上圖所示,說明系統中並沒有安裝docker 添加docker-ce倉庫 安裝yum倉庫管理工具 配置docker
Thumbnail
前言 前篇把 Ubuntu 作業系統的安裝跟準備談完了,有需要可以跳回去看。接下來聊容器服務 Docker 的安裝與使用。 Docker 可以應用的場合很多,這次是會用它來模擬 Android 受測裝置
Thumbnail
前言 前篇把 Ubuntu 作業系統的安裝跟準備談完了,有需要可以跳回去看。接下來聊容器服務 Docker 的安裝與使用。 Docker 可以應用的場合很多,這次是會用它來模擬 Android 受測裝置
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
前言 大家好在先前我們講了什麼是 Docker,Docker 好處有什麼以及怎麼安裝 Docker,今天我們要來開始初體驗 Docker 容器,使用後您會發現 Docker 非常的方便快速 Docker Hub 介紹 首先在開始學怎麼抓取 Docker Image 之前,我們要先來介紹 Doc
Thumbnail
前言 大家好在先前我們講了什麼是 Docker,Docker 好處有什麼以及怎麼安裝 Docker,今天我們要來開始初體驗 Docker 容器,使用後您會發現 Docker 非常的方便快速 Docker Hub 介紹 首先在開始學怎麼抓取 Docker Image 之前,我們要先來介紹 Doc
Thumbnail
透過K8S Ingress 和 NodePort service直接連線Pod中的App
Thumbnail
透過K8S Ingress 和 NodePort service直接連線Pod中的App
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News