Docker Hub PAT 申請指南
Docker Hub PAT 申請指南
什麼是 Docker Hub PAT?
Docker Hub Personal Access Token (PAT) 是 Docker Hub 提供的身份驗證機制,用於替代傳統的使用者名稱和密碼組合。PAT 提供了更安全的方式來存取 Docker Hub 的 API 和映像倉庫。
PAT 的主要優勢:
- 安全性:避免在腳本或配置中使用明文密碼
- 權限控制:可以設定特定的權限範圍
- 易於管理:可以獨立撤銷和更新,不影響帳戶密碼
- 審計追蹤:提供更好的存取記錄和監控
為什麼需要使用 PAT?
在以下情況下,建議使用 PAT 替代密碼:
- CI/CD 流程:在自動化部署中進行映像推送和拉取
- 本地開發:在 Minikube 或其他本地環境中拉取私有映像
- 腳本自動化:需要程式化存取 Docker Hub API
- 企業環境:符合企業安全政策和最佳實務
PAT 申請步驟
步驟 1:登入 Docker Hub
- 開啟瀏覽器,前往 Docker Hub
- 點選右上角的 Sign In 按鈕
- 輸入您的 Docker Hub 帳號和密碼進行登入
步驟 2:進入帳戶設定
- 登入後,點選右上角的帳戶頭像
- 從下拉選單中選擇 Account Settings
步驟 3:進入 Personal Access Tokens
- 在左側導航選單中點選 Settings
- 展開 Settings 選單,選擇 Personal access tokens
- 您會看到 Personal access tokens 頁面,顯示現有的權杖列表

步驟 4:建立新的存取權杖
- 點選右上角的 Generate new token 按鈕
- 進入 Create access token 頁面

步驟 5:配置權杖設定
Access token description:輸入有意義的描述名稱
- 範例:
minikube-pull
、ci-cd-pipeline
、local-development
- 範例:
Expiration date:選擇權杖的過期時間
- None:永不過期(不建議用於生產環境)
- 30 days:30 天後過期
- 90 days:90 天後過期
- Custom:自訂過期日期
Access permissions:選擇適當的權限級別
- Public Repo Read-only:只能讀取公開倉庫(預設選項,推薦用於拉取)
- Read-only:只能讀取所有可存取的倉庫
- Read & Write:可以讀取和寫入倉庫
- Read, Write, Delete:完整權限(謹慎使用)
點選 Generate 按鈕建立權杖
步驟 6:複製和保存權杖
權杖建立成功後,您會看到 Copy access token 頁面:
⚠️ 重要提醒:個人存取權杖只會顯示一次,無法儲存且之後無法再檢索
權杖資訊確認:
- Access token description:您設定的描述名稱(如:test)
- Expires on:過期時間(如:Never 表示永不過期)
- Access permissions:權限級別(如:Public Repo Read-only)
複製權杖:
- 在步驟 1 中,複製 Docker CLI 登入指令:
1
docker login -u <username>
- 點選右側的 Copy 按鈕複製指令
- 在步驟 1 中,複製 Docker CLI 登入指令:
複製個人存取權杖:
- 在步驟 2 中,顯示完整的個人存取權杖字串
- 權杖格式類似:
dckr_pat_abcdefghijk00000
- 點選右側的 Copy 按鈕複製權杖
安全保存:
- 立即將權杖保存在安全的位置(如密碼管理器)
- 記錄權杖的用途和建立日期
完成申請:
- 點選 Back to access tokens 按鈕返回權杖管理頁面

使用說明
根據頁面提示,您可以使用此權杖作為密碼,透過 Docker CLI 客戶端登入:
執行登入指令:
1
docker login -u <username>
在密碼提示時輸入個人存取權杖:
1
Password: <password>
權杖管理介面說明
在 Personal access tokens 頁面中,您可以看到:
- Description:權杖的描述名稱
- Scope:權杖的權限範圍
- Status:權杖狀態(Active/Inactive)
- Source:建立方式(Manual/Auto-generated)
- Created:建立時間
- Last used:最後使用時間
- Expiration date:過期日期
您可以透過右側的操作選單來管理現有的權杖,包括查看詳細資訊、停用或刪除權杖。
使用 PAT 進行身份驗證
在命令列中使用
根據 Docker Hub 提供的指引,推薦使用以下方式:
1 | # 方法一:使用 Docker Hub 提供的登入指令 |
最佳實務:建議使用方法一或方法三,避免在指令行中直接暴露 PAT。
在 Kubernetes 中使用
1 | # 建立 Docker Registry Secret |
在 CI/CD 中使用
1 | # GitHub Actions 範例 |
PAT 管理最佳實務
權限設定建議
最小權限原則:只授予必要的權限
- 僅拉取映像:使用 Public Repo Read-only 或 Read-only
- 需要推送映像:使用 Read & Write
- 避免使用 Read, Write, Delete 權限,除非絕對必要
專用權杖:為不同用途建立專用的 PAT
- 開發環境:
dev-environment-pat
- 生產 CI/CD:
prod-pipeline-pat
- 個人使用:
personal-tools-pat
- 開發環境:
過期時間設定:
- 開發測試:建議設定 30-90 天
- 生產環境:建議設定 90 天並定期輪換
- 避免使用 None(永不過期)選項
安全性考量
- 定期輪換:建議每 3-6 個月更新一次 PAT
- 安全存儲:
- 使用環境變數而非硬編碼
- 存儲在密碼管理器中
- 在 CI/CD 中使用 Secrets 管理
- 監控使用:定期檢查 PAT 的使用情況和存取記錄
權杖管理
在 Docker Hub 的 Personal access tokens 頁面中,您可以:
1 | # 查看當前的 PAT 資訊 |
權杖狀態說明:
- Active:權杖正常可用
- Inactive:權杖已停用
- Manual:手動建立的權杖
- Auto-generated:系統自動生成的權杖(如透過 Docker Desktop)
疑難排解
常見問題
1. 權杖驗證失敗
可能原因:
- 權杖已過期或被撤銷
- 權限不足
- 使用者名稱錯誤
解決方法:
1 | # 檢查登入狀態 |
2. 無法拉取私有映像
檢查項目:
- PAT 是否具有私有倉庫讀取權限
- 映像名稱和標籤是否正確
- 網路連線是否正常
1 | # 測試拉取公開映像 |
3. Kubernetes 中無法使用 Image Pull Secret
1 | # 檢查 Secret 是否正確建立 |
權杖續期和更新
定期檢查
- 登入 Docker Hub
- 前往左側選單的 Settings > Personal access tokens
- 檢查權杖列表中的 Last used 時間和 Expiration date
- 透過右側選單移除不再使用的權杖
更新流程
- 在 Personal access tokens 頁面點選 Generate new token
- 建立新的 PAT 並設定適當的過期時間
- 在所有使用舊 PAT 的地方更新為新 PAT
- 測試新 PAT 是否正常運作
- 在舊權杖的右側選單中選擇 Delete 來撤銷舊的 PAT
自動化更新提醒
建議設定日曆提醒或使用監控工具,定期檢查和更新 PAT,確保服務的持續可用性。
透過正確申請和管理 Docker Hub PAT,您可以提高 Docker 映像管理的安全性,同時保持開發和部署流程的順暢運行。