一、配置加速器
1. Docker Hub簡介與地址
- 公共鏡像倉庫: 由Docker公司維護的公共鏡像倉庫,包含大量容器鏡像
- 默認下載源: Docker工具默認從這個公共鏡像庫下載鏡像
- 訪問地址: https://hub.docker.com
- 鏡像搜索功能: 可通過瀏覽器訪問圖形化管理系統,搜索如nginx等官方/非官方鏡像
2. 配置鏡像加速器的步驟
- 配置文件路徑: /etc/docker/daemon.json
- 創建方法: 若文件不存在需手動創建
- 核心配置項: 添加"registry-mirrors"字段(如阿里云鏡像加速地址)
- 典型配置示例:
{"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"] }
3. 加速器配置文件的格式與注意事項
- 格式要求: 必須嚴格遵循JSON格式規范
- 常見錯誤: 錯一個字符都會導致服務啟動失敗
- 擴展性: 后續其他配置參數也需添加到此文件中
- 語法檢查: 建議使用jq工具驗證JSON格式有效性
4. 重啟Docker以應用加速器配置
- 重啟命令: systemctl restart docker
- 必要性: 修改配置后必須重啟服務才能生效
- 服務狀態檢查: 可通過systemctl status docker確認服務狀態
5. 驗證加速器配置是否成功
- 驗證命令: 使用docker info查看配置信息
- 預期結果: 在輸出信息中能看到配置的鏡像加速器地址
- 效果驗證: 執行docker pull或docker run時能明顯提升下載速度
- 網絡問題解決: 特別適用于訪問國外鏡像倉庫超時的情況
二、常用管理命令
1. Docker鏡像管理
- Docker Hub:由Docker公司維護的公共鏡像倉庫,包含大量容器鏡像,默認從此下載鏡像
- 鏡像加速器配置:修改/etc/docker/daemon.json文件,添加{"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]}后重啟docker服務
- 常用命令:
- ls:列出本地鏡像
- build:從Dockerfile構建鏡像
- history:查看鏡像構建歷史
- inspect:顯示鏡像詳細信息
- pull:從倉庫拉取鏡像
- push:推送鏡像到倉庫
- rm:刪除鏡像
- prune:清理未使用的鏡像
- tag:創建鏡像標簽
- save:將鏡像保存為tar文件
- load:從tar文件加載鏡像
2. Docker命令結構
- 新舊命令對比:
- 舊版:直接使用docker run等命令
- 新版:使用docker container run等管理命令
- 區別:新版對命令進行了分類管理,舊版命令仍然保留
- 使用建議:兩種方式功能相同,可根據習慣選擇
3. 鏡像操作演示
- 鏡像查找:
- docker image ls查看本地鏡像
- 本地沒有的鏡像會自動從Docker Hub下載
- 鏡像歷史:
- docker history可查看鏡像構建步驟
- 每步對應Dockerfile中的一條指令
- 鏡像導出導入:
- docker save -o redis.tar redis導出鏡像
- docker load -i redis.tar導入鏡像
- 適用于離線環境部署
4. 鏡像是什么
- 分層存儲:由多個文件層組成,采用UFS聯合文件系統技術
- 軟件環境:包含完整的軟件運行環境(如Nginx、Redis等)
- 標準化交付:一個鏡像可創建多個容器實例
- 精簡系統:不包含Linux內核的精簡操作系統
- 端口映射:通過-p 8080:80將容器端口映射到主機
- 服務訪問:通過宿主機IP+映射端口訪問容器服務
- 快速部署:鏡像可快速創建標準化服務環境
5. 鏡像管理技巧
- 空間管理:
- docker image prune清理懸掛鏡像
- 加-a參數清理所有未使用的鏡像
- 鏡像傳輸:
- 通過save/load在離線環境遷移鏡像
- 解決內網服務器無法聯網拉取鏡像的問題
三、知識小結
知識點 | 核心內容 | 考試重點/易混淆點 | 難度系數 |
Docker加速器配置 | 配置國內鏡像加速器解決網絡訪問問題,修改/etc/docker/daemon.json文件并重啟Docker服務 | JSON格式校驗(格式錯誤會導致服務啟動失敗) | ?? |
Docker鏡像管理 | 鏡像分層存儲原理、docker image ls/pull/push/rm命令操作 | 鏡像與容器的關聯性(docker prune清理未使用的鏡像) | ??? |
鏡像導入導出 | docker save/load實現離線環境鏡像遷移,演示從能上網機器導出到內網機器導入 | 歸檔包非壓縮格式(直接解壓查看分層文件結構) | ??? |
容器啟動與端口映射 | docker run -d -p啟動容器并暴露端口(如Nginx訪問宿主機IP:8080) | 端口沖突排查(多次啟動同一端口導致失敗) | ?? |
Docker命令體系 | 新舊命令對比(如docker run vs docker container run),管理命令分類邏輯 | 命令兼容性(舊版命令仍可用但推薦新版) | ? |
聯合文件系統(UFS) | 鏡像分層存儲技術,通過docker history查看構建步驟 | 層復用機制(相同層僅下載/存儲一次) | ???? |
鏡像構建原理 | 通過Dockerfile定義鏡像構建步驟,docker build執行構建 | 層緩存優化(修改步驟后后續層需重建) | ???? |