2023 iT邦鐵人賽 Day 01 - 談Docker前先談Server

前言

新的一年,新的學習。去年參與鐵人賽時,我主要介紹了 Rspec 與 Capybara。這兩個測試工具是每一位 rails developer 都需要掌握的。今年,我的主題則是更廣為人知的工具——Docker。Docker 的應用範圍遍佈開發與部署,已成為必須知曉甚至熟悉的工具。

接下來一個月,我將介紹 Docker 與 Docker Compose 為主題。最後會稍微介紹另一個知名的工具 k8s,讓讀者們大略了解 k8s 是什麼,以及它與 Docker 的差異。

在開始談到 Docker 之前,我們先來講講伺服器吧。

何謂伺服器 What’s Server?

從英文說文解字,伺服器( server )是提供服務( service )的機器。

提供什麼服務?

服務的類型有很多,舉凡是收發信件建置部落格提供觀看影音買賣商品等提供使用者進行操作活動的服務,皆可屬於伺服器所提供的服務範疇內。

是什麼樣的機器在提供服務?

硬體設備,像是筆電、桌電、甚至是一台又一台的機櫃設備。

https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcREHsFfct1jrBboNtdXrDcTgDp_C8W6zprdJC7tF5edRCs-ACTnepiSz9heoWqYV5ZHq8U&usqp=CAU

所以伺服器到底是什麼?

現在我們知道上述的機器能夠提供上述的服務時,這些機器就稱為伺服器。

也就是說:

  1. 我的筆電裝載了收發信件的應用程式,並可提供你我他等外部使用者使用時,我的筆電就是這個收發信件的伺服器。
  2. 我買了一個上圖的機櫃,機櫃裡放了好幾個機台用來存取影音資料,讓使用者可以在網頁上搜尋並觀看影音,此時我的機櫃裡的機台們正在提供使用者觀看影音的服務,所以這些機台們就稱為伺服器。

伺服器又跟我們要講的 Docker 有什麼關係?

Docker 的容器化技術,其概念跟伺服器一樣。一個容器可裝載一個應用程式,並提供一項服務。

由此見得,容器與伺服器的概念近乎等號。

總結

今天我們用介紹伺服器來當作開賽的前菜,明天開始進入 Docker 系列,讓大家開始體會 Docker 有趣又神秘的世界。