以下是原文翻译成繁體中文的內容:

Docker - Cloud

# Docker - Cloud: 雲端計算入門指南 - Docker篇

你好,未來的雲端計算魔法師們!我很興奮能成為你們在 Docker 和雲端計算世界中的引路人。作為一個教了超過十年計算機科學的老師,我看過無數學生在掌握這些概念時眼睛發光的樣子。所以,讓我們一起潛入水中,一起解開 Docker 和雲端計算的神秘面紗!

## 開始

在我們揚帆進入雲端之前,讓我們從基礎開始。Docker 就像一個神奇的軟件運輸容器。它將你的應用程序和所有相依性打包成一個標準化的單元,稱為容器。這讓你將應用程序從一個環境移動到另一個環境變得非常容易,就像貨櫃可以輕鬆地在船隻、卡車和火車之間轉移一樣。

### 什麼是 Docker?

Docker 是一個開源平台,它自動化應用程序的部署、擴展和管理。它使用容器化技術將應用程序包裝在一個完整的文件系統中,其中包含運行所需的一切:代碼、運行時、系統工具、系統庫——你可以安裝在伺服器上的任何東西。

讓我們看一個簡單的 Dockerfile 的例子,這就像一個用來創建 Docker 容器的配方:

```dockerfile
FROM python:3.9-slim
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

這個 Dockerfile 會進行以下操作:

  1. 從 Python 3.9 的基礎映像開始
  2. 設置工作目錄為 /app
  3. 將我們的應用程序文件複製到容器中
  4. 安裝我們的 Python相依性
  5. 指定運行我們應用程序的命令

什麼是雲端計算?

現在,想象一下你可以租用一台超級強大的計算機,它總是開著且從世界任何地方都可以訪問。這就是雲端計算提供的服務!就像在天空中有台虛擬計算機,你可以在需要的時候隨時訪問。

連接到雲服務提供商

為了我們的雲端冒險,我們需要選擇一個雲服務提供商。業界三大巨头是亚马逊網絡服務(AWS)、微軟 Azure 和谷歌雲平台(GCP)。在這個教學中,讓我們以 AWS 為例。

設置 AWS 帳戶

  1. 前往 AWS 網站並註冊帳戶。
  2. 一旦進入,你會看到 AWS 管理控制台。它可能起初看起來讓人覺得不知所措,但別擔心——我們只關注我們需要的内容。

安裝 AWS CLI

AWS 命令行界面(CLI)就像一根魔法棒,讓你可以從終端控制 AWS 服務。讓我們安裝它:

pip install awscli
aws configure

當你運行 aws configure 時,你將被要求提供你的 AWS 存取鍵 ID 和秘密存取鍵。這些就像是你在 AWS 服務中的用戶名和密碼。

設置節點

在 Docker 和雲端計算的世界中,一個“節點”實質上是一台可以運行 Docker 容器的機器(虛擬或實體)。讓我們在 AWS 上使用一項名為 EC2(彈性計算雲)的服務來設置一個節點。

創建 EC2 實例

  1. 在 AWS 管理控制台中,導航到 EC2。
  2. 點擊“啟動實例”。
  3. 選擇一個亚马逊機器映像(AMI)——讓我們選擇 Amazon Linux 2。
  4. 選擇一個實例類型(t2.micro 擁有免費層級資格)。
  5. 配置實例詳情,添加存儲和標籤。
  6. 配置安全組以允許 SSH 存取。
  7. 檢查並啟動實例。

現在你在雲中擁有一台虛擬機器!讓我們連接到它:

ssh -i your-key-pair.pem ec2-user@your-instance-public-dns

在節點上安裝 Docker

一旦你連接到你的 EC2 實例,讓我們安裝 Docker:

sudo yum update -y
sudo amazon-linux-extras install docker
sudo service docker start
sudo usermod -a -G docker ec2-user

恭喜你!你現在在雲中擁有一個準備好 Docker 的節點。

部署服務

現在來到令人興奮的部分——讓我們使用 Docker 將一個簡單的網絡應用程序部署到我們的雲節點上!

創建一個簡單的網絡應用程序

首先,讓我們創建一個簡單的 Python 網絡應用程序。創建一個名為 app.py 的文件:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, Docker Cloud World!'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=80)

將應用程序容器化

現在,讓我們創建一個 Dockerfile 來容器化我們的應用程序:

FROM python:3.9-slim
WORKDIR /app
COPY . /app
RUN pip install flask
EXPOSE 80
CMD ["python", "app.py"]

部署到雲節點

  1. 建立 Docker 映像:

    docker build -t my-cloud-app .
  2. 運行容器:

    docker run -d -p 80:80 my-cloud-app
  3. 你的應用程序現在運行中!你可以通過在網頁瀏覽器中訪問你的 EC2 實例的公共 IP 地址來訪問它。

結論

哇,這是一段多麼驚人的旅程!我們已經從零開始,在雲中部署了一個容器化應用程序。記住,這只是冰山一角。Docker 和雲端計算的世界是廣闊而令人興奮的,有著無窮無盡的探索可能性。

以下是這些主要 Docker 命令的快速參考表:

命令 描述
docker build 從 Dockerfile 建立一個 Docker 映像
docker run 運行一個 Docker 容器
docker ps 列出運行的容器
docker stop 停止一個運行的容器
docker rm 刪除一個容器

繼續練習,持續探索,在你還沒有意識到之前,你將會像一位有經驗的專家一樣協調複雜的雲端基礎設施。記住,每個專家都曾經是個初學者。祝你雲端之旅愉快!

Credits: Image by storyset