iT邦幫忙

2025 iThome 鐵人賽

DAY 3
0
Cloud Native

從 Docker 到 K8s:我的 30 天雲原生筆記系列 第 3

Day 3: 初探 Docker:安裝與你的第一個 Hello World 容器

  • 分享至 

  • xImage
  •  

哈囉,大家好,歡迎來到我們實戰旅程的第三天!

在昨天的 Day 2 中,我們聊了滿滿的「貨櫃」觀念,知道了 Docker 是為了解決什麼痛點而生,以及它的三大超能力。

理論知識是基礎,但工程師的熱情,終究要在終端機(Terminal)的閃爍游標中才會被真正點燃!今天,我們就要把理論化為現實,告別紙上談兵,親手完成兩件充滿儀式感的事情:

  1. 安裝 Docker 的總控制中心 —— Docker Desktop。
  2. 運行我們人生中的第一個 Docker 容器!

準備好了嗎?讓我們開始動手吧!

Part 1:安裝 Docker Desktop

俗話說得好,工欲善其事,必先利其器。Docker Desktop 就是我們用來與 Docker 引擎互動最方便的工具。你可以把它想像成是管理所有貨櫃的「總控制台」,它不僅包含了在背景運行的 Docker 核心引擎(Daemon),還提供了一個超酷的圖形化介面(GUI),讓我們可以輕鬆查看和管理我們的容器。

下載與安裝

安裝過程非常簡單,就像安裝你電腦上任何一個普通的應用程式一樣。

  1. 前往官網:首先,打開你的瀏覽器,前往 Docker Desktop 官方下載頁面
  2. 選擇你的作業系統:網頁會自動偵測你的作業系統(Windows / Mac / Linux),你只需要點擊對應的下載按鈕即可。
  3. 無腦安裝:下載完成後,打開安裝檔,基本上就是一路點擊「下一步」或「同意」,直到安裝完成。過程中可能會需要你輸入電腦的密碼。
  4. 啟動與驗證:安裝完畢後,從你的應用程式列表找到並啟動 Docker Desktop。稍待片刻,當你看到 Docker Desktop 的主畫面,並且在螢幕角落看到一個小鯨魚圖示時,就代表你的 Docker 引擎已經順利啟動了!

恭喜!你的電腦現在已經具備了運行 Docker 容器的能力了!

https://ithelp.ithome.com.tw/upload/images/20250910/20178656TqwwAVxE2M.png

Part 2:你的第一個 Hello World 容器

接下來,就是見證奇蹟的時刻!讓我們來運行一個最經典、最純粹的容器。

1. 經典中的經典:hello-world

打開你電腦的「終端機」(Terminal) 或「命令提示字元」(Command Prompt),輸入以下指令,然後按下 Enter:

docker run hello-world

如果你是第一次執行,你會看到終端機顯示類似以下的訊息:

https://ithelp.ithome.com.tw/upload/images/20250910/20178656sWYOU6xrwI.jpg

看到 Hello from Docker! 這句話,請給自己一個大大的掌聲!你已經成功運行了你的第一個 Docker 容器!

是不是很神奇?讓我們來仔細拆解一下,在你按下 Enter 的那一瞬間,背後到底發生了什麼事。

眼尖的你可能已經發現,hello-world 的輸出訊息中,提到了 "Docker client""Docker daemon" 這兩個詞。這正是理解 Docker 運作模式的鑰匙!

  • Docker Client (客戶端):就是你在終端機中使用的 docker 指令。它像是個「傳令官」,負責接收你的命令,並把它傳達給真正幹活的人。
  • Docker Daemon (守護進程):這就是一直在背景運行的 Docker 核心服務,也就是我們在 Day 2 比喻的「管家兼室內設計師」。它才是負責管理 Image、運行 Container 的幕後功臣。

所以,完整的流程其實是這樣的:

  1. 你(Client)告訴 Docker:「嘿!幫我運行一個叫做 hello-world 的東西」。
  2. Docker 引擎(Daemon)收到指令,先在你的電腦本地找,發現「嗯?沒看過這個叫 hello-world 的設計圖(Image)」。
  3. 於是,它就自動跑去預設的 Docker Hub(公共大倉庫)把 hello-world 這張設計圖給下載(Pull)回來。
  4. 下載完畢後,Docker 引擎就用這張設計圖,創建(Create)並啟動(Run)了一個新的容器(Container)。
  5. 這個 hello-world 容器的任務很簡單:在螢幕上印出那段 "Hello from Docker!" 的訊息,然後就功成身退,自動停止了。

現在回到 Docker Desktop,你會看到剛剛啟動的 hello world 容器。

https://ithelp.ithome.com.tw/upload/images/20250910/201786563JNj2e2AST.jpg

2. 來點不一樣的:運行一個網站伺服器

剛剛的 hello-world 跑完就結束了,有點不過癮對吧?讓我們來跑一個會「持續運作」的服務型容器—一個小小的 Nginx 網站伺服器。

繼續在你的終端機輸入以下指令:

docker run -d -p 8080:80 nginx

這次你會發現,終端機只回傳給你一長串的亂碼(那是容器的 ID),然後就沒事了。但其實,一個網站正在你的電腦背景中默默運行!

我們來拆解一下這道更酷的指令:

  • docker run nginx:這部分跟剛剛一樣,去下載並運行 Nginx 的 Image。
  • d:是 detached 的縮寫,意思是「分離模式」。讓容器在背景運行,不會佔住你的終端機視窗。
  • p 8080:80:是 port 的縮寫,這是個超重要的參數!意思是「將我本機電腦的 8080 埠,連接到這個容器內部的 80 埠」。Nginx 預設會在容器裡的 80 埠提供服務,這個指令就像是架了一座橋樑,讓我們可以從外部訪問它。

現在,打開你的瀏覽器,在網址列輸入 http://localhost:8080,然後按下 Enter。

https://ithelp.ithome.com.tw/upload/images/20250910/20178656n7ZNTXQ34C.jpg

噹啷!看到 "Welcome to nginx!" 的頁面,代表你已經成功地在本機運行了一個容器化的網站了!

Part 3:回到 Docker Desktop,看看我們的成果

現在讓我們回到 Docker Desktop 圖形化介面。

點擊左側欄的 Containers,你會清楚地看到,我們剛剛啟動的 nginx 容器正在 RUNNING 狀態。

https://ithelp.ithome.com.tw/upload/images/20250910/201786564eBN116meC.jpg

在這裡,你可以對這個容器做很多事:

  • 點擊容器名稱:可以查看它的日誌(Logs)、詳細資訊(Inspect),甚至進入它的終端機(Exec)。
  • 操作按鈕:右側有一排按鈕,可以讓你一鍵停止 (Stop)重啟 (Restart)刪除 (Delete) 這個容器。

試著點擊 Stop 按鈕,然後再回到你的瀏覽器重新整理 http://localhost:8080,你會發現網站已經連不上了。這就是用 GUI 管理容器的直觀與便利!

結論:成功的一小步,容器化的一大步!

今天,我們完成了從 0 到 1 的關鍵一步!你不再只是聽過 Docker,而是:

  • 親手安裝了 Docker Desktop。
  • 學會了 docker run 這個核心指令。
  • 成功運行了兩種不同類型的容器:一個是執行完就結束的任務,另一個是持續運行的服務。
  • 理解了 dp 這兩個超常用參數的意義。
  • 學會了如何使用 Docker Desktop 來查看和管理容器。

你可能會想,hello-worldnginx 這些都是別人做好的 Image。那...我們能不能深入了解 Image 和 Container 到底是什麼關係?我們又該如何自己動手做一個專屬的 Image 呢?

在明天的文章中,我們就要來深入探討 Docker 的核心三劍客:Image, Container 與 Registry 的觀念,為我們之後親手打造自己的 Image 做好最充分的理論準備!明天見!


上一篇
Day 2: Docker 是什麼?一切從這個「萬能貨櫃」開始
系列文
從 Docker 到 K8s:我的 30 天雲原生筆記3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言