以下是原文翻译成繁體中文的內容:
# 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 會進行以下操作:
- 從 Python 3.9 的基礎映像開始
- 設置工作目錄為 /app
- 將我們的應用程序文件複製到容器中
- 安裝我們的 Python相依性
- 指定運行我們應用程序的命令
什麼是雲端計算?
現在,想象一下你可以租用一台超級強大的計算機,它總是開著且從世界任何地方都可以訪問。這就是雲端計算提供的服務!就像在天空中有台虛擬計算機,你可以在需要的時候隨時訪問。
連接到雲服務提供商
為了我們的雲端冒險,我們需要選擇一個雲服務提供商。業界三大巨头是亚马逊網絡服務(AWS)、微軟 Azure 和谷歌雲平台(GCP)。在這個教學中,讓我們以 AWS 為例。
設置 AWS 帳戶
- 前往 AWS 網站並註冊帳戶。
- 一旦進入,你會看到 AWS 管理控制台。它可能起初看起來讓人覺得不知所措,但別擔心——我們只關注我們需要的内容。
安裝 AWS CLI
AWS 命令行界面(CLI)就像一根魔法棒,讓你可以從終端控制 AWS 服務。讓我們安裝它:
pip install awscli
aws configure
當你運行 aws configure
時,你將被要求提供你的 AWS 存取鍵 ID 和秘密存取鍵。這些就像是你在 AWS 服務中的用戶名和密碼。
設置節點
在 Docker 和雲端計算的世界中,一個“節點”實質上是一台可以運行 Docker 容器的機器(虛擬或實體)。讓我們在 AWS 上使用一項名為 EC2(彈性計算雲)的服務來設置一個節點。
創建 EC2 實例
- 在 AWS 管理控制台中,導航到 EC2。
- 點擊“啟動實例”。
- 選擇一個亚马逊機器映像(AMI)——讓我們選擇 Amazon Linux 2。
- 選擇一個實例類型(t2.micro 擁有免費層級資格)。
- 配置實例詳情,添加存儲和標籤。
- 配置安全組以允許 SSH 存取。
- 檢查並啟動實例。
現在你在雲中擁有一台虛擬機器!讓我們連接到它:
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"]
部署到雲節點
-
建立 Docker 映像:
docker build -t my-cloud-app .
-
運行容器:
docker run -d -p 80:80 my-cloud-app
-
你的應用程序現在運行中!你可以通過在網頁瀏覽器中訪問你的 EC2 實例的公共 IP 地址來訪問它。
結論
哇,這是一段多麼驚人的旅程!我們已經從零開始,在雲中部署了一個容器化應用程序。記住,這只是冰山一角。Docker 和雲端計算的世界是廣闊而令人興奮的,有著無窮無盡的探索可能性。
以下是這些主要 Docker 命令的快速參考表:
命令 | 描述 |
---|---|
docker build |
從 Dockerfile 建立一個 Docker 映像 |
docker run |
運行一個 Docker 容器 |
docker ps |
列出運行的容器 |
docker stop |
停止一個運行的容器 |
docker rm |
刪除一個容器 |
繼續練習,持續探索,在你還沒有意識到之前,你將會像一位有經驗的專家一樣協調複雜的雲端基礎設施。記住,每個專家都曾經是個初學者。祝你雲端之旅愉快!
Credits: Image by storyset