Docker簡介:什麼是Docker?
Docker是一個開源的容器化平台,可以用來打包、運行和分享應用程式。Docker通過容器化技術實現了應用程式的獨立性和可移植性,讓開發者和運維人員可以更加便捷地進行應用程式的開發、部署和運維。
為什麼要使用Docker?
- 簡化配置:Docker將應用程式和其依賴項打包成容器,避免了環境配置的問題。
- 提高部署速度:容器快速啟動,加快應用程式的部署。
- 易於擴展:容器化的應用程式可以快速擴展或縮小,以滿足需求。
- 跨平台:Docker容器可以在任何平台上運行,方便應用程式的遷移。
如何使用Docker?
使用Docker可以分為三個步驟:構建映像、運行容器和分享映像。首先,需要構建一個Docker映像,包括應用程式及其依賴的庫和環境等。然後,運行映像可以通過命令行、Docker Compose等方式實現。最後,可以將構建好的Docker映像分享給其他使用者,讓他們可以快速地部署和運行應用程式。
何時應該使用Docker?
Docker適用於需要開發、部署和運維應用程式的場景,尤其是在多平台、多環境、多依賴等複雜場景下。使用Docker可以提高開發效率、簡化部署流程、減少運維成本、提高應用程式的可靠性和可移植性等。
如何使用Docker
使用Docker很簡單。以下是使用Docker的基本步驟:
- 安裝Docker:首先,你需要安裝Docker並在電腦上運行Docker服務。安裝過程可以在Docker的官方網站上找到詳細步驟,並且也有針對不同作業系統的安裝檔案。
根據您的操作系統,選擇合適的Docker安裝方法:
- Windows: 下載 Docker Desktop for Windows 並安裝。
- MacOS: 下載 Docker Desktop for Mac 並安裝。
- Linux: 依據您的Linux發行版,參考 Docker官方文件 安裝指南。
Docker基本概念
- 映像檔(Image):包含應用程式和其依賴項的打包檔案,可以從Docker Hub下載或自行創建。
- 容器(Container):映像檔的運行實例,可以創建、啟動、停止或刪除。
- 倉庫(Repository):存儲映像檔的地方,例如Docker Hub。
Docker實戰:創建和運行容器
我們將一步步地帶領您完成使用Docker開發、部署和運行一個簡單的JavaScript Web應用程式,這裡我們將使用Node.js和Express框架。
- 創建Dockerfile
首先,創建一個新的目錄並進入該目錄:
mkdir js-web-app && cd js-web-app
在此目錄中創建一個名為Dockerfile
的檔案,並使用以下內容:
# 使用官方Node.js映像檔作為基礎 FROM node:14 # 設置工作目錄 WORKDIR /app # 將應用程式所需的套件安裝到容器中 COPY package*.json ./ RUN npm install # 複製應用程式程式碼到容器中 COPY . . # 暴露容器的端口,供外部訪問 EXPOSE 3000 # 啟動應用程式 CMD ["npm", "start"]
3. 構建映像檔
在js-web-app
目錄中,創建一個簡單的JavaScript Web應用程式。首先創建package.json
檔案:
{
"name": "js-web-app",
"version": "1.0.0",
"description": "A simple JavaScript web app",
"main": "app.js",
"scripts": {
"start": "node app.js"
},
"dependencies": {
"express": "^4.17.1"
}
}
接下來,創建app.js
檔案:
const express = require('express'); const app = express(); const PORT = process.env.PORT || 3000; app.get('/', (req, res) => { res.send('Hello, Docker!'); }); app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); });
在js-web-app
目錄中運行以下命令構建Docker映像檔:
docker build -t js-web-app . ``
4. 運行容器
使用剛剛構建好的映像檔運行容器:
docker run -d -p 3000:3000 --name my-js-web-app js-web-app
這個命令將會運行一個名為my-js-web-app
的容器,並將容器的3000端口映射到主機的3000端口。
5. 訪問應用程式
在瀏覽器中訪問http://localhost:3000
,您應該可以看到顯示 “Hello, Docker!” 的頁面。
6. 部署至雲端
將您的應用程式部署到雲端(例如:AWS, Google Cloud, Azure等),首先需要將您的Docker映像檔推送到容器倉庫,例如Docker Hub。
- 使用Docker命令登錄Docker Hub(如果您還沒有Docker Hub帳戶,請先註冊一個):
docker login
- 為映像檔添加標籤,使用您的Docker Hub用戶名和新的倉庫名稱:
docker tag js-web-app <YOUR_DOCKER_HUB_USERNAME>/js-web-app
- 推送映像檔到Docker Hub:
docker push <YOUR_DOCKER_HUB_USERNAME>/js-web-app
接下來,您可以根據您選擇的雲平台,遵循相應的指南部署您的應用程式。例如,對於AWS,您可以選擇使用Amazon ECS來部署和運行您的Docker容器。
我們一步步地帶領您完成使用Docker開發、部署和運行一個簡單的JavaScript Web應用程式。Docker簡化了開發、部署和運行應用程式的過程,使得應用程式在不同環境中的運行更加一致。希望這個教學能夠對你有所幫助。