雲端乾貨|如何使用Docker製作鏡像

語言: CN / TW / HK

 

上一講,我們引入了Docker的學習環境,並且運行了一個 “Hello world”。本期內容,我們將開始製作鏡像,並且把它運行起來。

基於雲原生開發的雲資源優化服務 SpotMax 無縫集成了k8s、Docker等工具,可便捷實現容器的管理與發佈,並實現用雲降本增效。==>> ​戳鏈接瞭解 SpotMax

準備代碼

首先我們需要準備一份簡單的代碼。前往SpotMax文檔中心(Welcome - Spotmax文檔中心),打開學習文檔,我們已經為你準備好了代碼。它是一個簡單的http服務代碼,採用Node app.js的語法:

 

·如果你的本地有Node環境,也可以運行測試一下 note app .js。 在這裏,你需要將它存到 app.js這個文件裏面:

 

·curl一下,它就會打開一個端口8080,並顯示你的機器名:

 

·在下方我們可以看到“安裝Node環境”,你可以根據自己的需求,選擇是否安裝這個環境:

 

現在,讓我們回到上述的頁面,複製我們為你提供的代碼,打開Docker Playground開始玩耍~

 

製作鏡像與運行

在Docker Playground中,我們touch一個代碼,把它放在 app.js文件裏面,將上述複製的代碼粘貼過來,保存、退出。如此,代碼就準備好了:

 

因為在這裏是Node的環境,我們要需要進行打包。在文檔中心找到“構建與運行你的第一個應用”,複製代碼:

 

並放在Dockerfile中,保存、退出。

 

 

現在,我們已經準備好了Docker file,可以開始運行指令了。我們要製作一些自己的Docker build,在文檔中心複製粘貼代碼docker build-t:

 

這裏我們起個名字叫Kubia。請注意kubia後面需要有一點“.”這個點是代表“當前目錄”。因為“當前目錄”下面包括Dockerfile,以及 app.js。

 

如下圖所示,現在已經成功完成build,將我們這個 app.js做成了一個鏡像。

 

完成後,讓我們來看一下自己的鏡像長什麼樣子?

在文檔中心複製docker images命令,粘貼到終端並運行。

 

如下便可見鏡像:

 

現在,我們已經build好了Kubia。接下來我們去運行一下容器。

 

在文檔中心找到下圖所示的docker run指令,粘貼到終端並運行:

 

接下來,輸入docker ps,我們就可以看到剛才製作的鏡像 app.js已經開始運行了,同時,可以看到node環境也已經被打包進去、端口已經打開:

 

現在我們來試着訪問一下端口。輸入curl http://local host:8080/ 並運行——可以看到成功顯示了You’ve hit 96d8883f7c15 (即當前機器的Host)。

一個簡單的鏡像就製作並運行完成啦!

 

想要了解更多?“掃碼關注“雲上説禪”吧