20250706-3-Docker 快速入門(上)-常用鏡像管理命令_筆記

一、配置加速器

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執行構建

層緩存優化(修改步驟后后續層需重建)

????

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/88027.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/88027.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/88027.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【unity游戲開發——優化篇】使用Occlusion Culling遮擋剔除,只渲染相機視野內的游戲物體提升游戲性能

注意:考慮到優化的內容比較多,我將該內容分開,并全部整合放在【unity游戲開發——優化篇】專欄里,感興趣的小伙伴可以前往逐一查看學習。 文章目錄 前言實戰1、確保所有靜止的3D物體都標記為Occluder Static靜態遮擋體和Occludee …

通用業務編號生成工具類(MyBatis-Plus + Spring Boot)詳解 + 3種調用方式

在企業應用開發中,我們經常需要生成類似 BZ -240704-0001 這種“業務編號”,它通常具有以下特點:前綴:代表業務類型,如 BZ 表示包裝日期:年月日格式,通常為 yyMMdd序列號:當天內遞增…

前端相關性能優化筆記

1.打開速度怎么變快 - 首屏加載優化2.再次打開速度怎么變快 - 緩存優化了3.操作怎么才順滑 - 渲染優化4.動畫怎么保證流暢 - 長任務拆分2.1 首屏加載指標細化:1.FP(First Paint 首次繪制) 2.FCP(First contentful Paint 首次內容繪制),FP 到 FCP 中間其實主要是 SPA…

7.7晚自習作業

實操作業02:Spark核心開發 作業說明 請嚴格按照步驟操作,并將最終結果文件(命名為:sparkcore_result.txt)于20點前上傳。結果文件需包含每一步的關鍵命令執行結果文本輸出。 一、數據讀取與轉換操作 上傳賬戶數據$…

手機FunASR識別SIM卡通話占用內存和運行性能分析

手機FunASR識別SIM卡通話占用內存和運行性能分析 --本地AI電話機器人 上一篇:手機無網離線使用FunASR識別SIM卡語音通話內容 下一篇:手機通話語音離線ASR識別商用和優化方向 一、前言 書接上一文《阿里FunASR本地斷網離線識別模型簡析》,…

虛幻引擎Unreal Engine5恐怖游戲設計制作教程,從入門到精通從零開始完整項目開發實戰詳細講解中英字幕

和大家分享一個以前收集的UE5虛幻引擎恐怖游戲開發教程,這是國外一個大神制作的視頻教程,教程從零開始到制作出一款完整的游戲。內容講解全面,如藍圖基礎知識講解、角色控制、高級交互系統、高級庫存系統、物品檢查、恐怖環境氛圍設計、過場動…

多人協同開發時Git使用命令

拉取倉庫代碼 # 拉取遠程倉庫至本地tar_dir路徑 git clone gitgithub.com:your-repo.git target_dir # 默認是拉取遠程master分支,下面拉取并切換到自己需要開發的分支上 # 假設自己需要開發的分支是/feature/my_branch分支 git checkout -b feature/my_branch orig…

線性表——雙向鏈表

線性表——雙向鏈表1. 雙向鏈表的實現1.1 簡單圖例1.2 結點的定義1.3 新結點的創建1.4 鏈表的初始化1.5 結點的插入1.5.1 頭部插入(頭插)1.5.2 尾部插入(尾插)1.5.3 任意位置(前)插入1.6 結點的刪除1.6.1 頭…

Java后端技術博客匯總文檔

文章目錄 前言Java后端匯總鏈接Java基礎知識點數據結構算法(Java實現)算法知識點合集算法刷題算法競賽AcWing課程藍橋杯AB組輔導課合集(更新中…) 源碼分析redission 數據庫SQL ServerMySQLRedis -Canal JUC并發編程JVMNetty日志框…

QT 菜單欄設計使用方法

目錄 常用設置函數 多個QAction的單選設置 ???????菜單相關類 ??????? 系統菜單的生成和響應 使用代碼添加系統菜單 使用UI設計器設計系統菜單 使用Qt設計及界面時,常用的兩種方式添加菜單,第一使用UI界面添加,第二種 在…

AIGC領域AI藝術,打造個性化藝術作品

AIGC領域AI藝術,打造個性化藝術作品 關鍵詞:AIGC、AI藝術、生成對抗網絡、個性化創作、深度學習、藝術風格遷移、創意計算 摘要:本文深入探討了AIGC(人工智能生成內容)在藝術創作領域的應用,重點分析了如何利用AI技術打造個性化藝術作品。文章從技術原理出發,詳細解析了生…

基于Flask+Jinja2的快捷教務系統(后端鏈接到新版正方教務系統)

快捷教務系統(Easy Educational Administration Management System, EasyEAMS) 項目簡介 EasyEAMS 是一個基于 Flask Jinja2 的現代化教務系統 Web 應用。學生可通過網頁端登錄,在線查詢個人信息、成績、課表、學業生涯、通知、選課等。系…

EDM自動化與出海獨立開發實用教程

隨著互聯網全球化發展,越來越多的獨立開發者(Indie Developer)選擇將自己的產品推向海外市場。如何高效地獲客、激活用戶、提升轉化率,成為出海過程中必須解決的問題。EDM(電子郵件營銷)自動化,…

「日拱一碼」017 深度學習常用庫——TensorFlow

目錄 基礎操作 張量操作: tf.constant 用于創建常量張量 tf.Variable 用于創建可訓練的變量張量 tf.reshape 可改變張量的形狀 tf.concat 可將多個張量沿指定維度拼接 tf.split 則可將張量沿指定維度分割 數學運算: tf.add 張量的加運算 tf.su…

ARM DStream仿真器腳本常用命令

以下是ARM DStream仿真器腳本中常用的命令及其功能分類,結合調試流程和典型應用場景整理: ?? 一、連接與初始化命令 connect 建立與目標設備的連接,需指定接口類型(如JTAG/SWD)和處理器核心。 示例:conne…

vscode 調試unity

lanch.json { “version”: “0.2.0”, “configurations”: [ { “name”: “Attach to Unity”, “type”: “vstuc”, “request”: “attach” } ] }

金融IT入門知識點

銀行金融IT核心知識點全解析:架構、技術與實踐 一、金融IT的戰略地位與行業特性 金融IT作為銀行業務的核心支撐體系,其發展水平直接決定了銀行服務的效率、安全性與創新能力。截至 2025年,中國銀行業線上化業務占比已達97%,手機銀…

C++——手撕智能指針、單例模式、線程池、String

智能指針今天我們來學習一下C中的智能指針,如果有人不知道C中的智能指針的概念的話:C智能指針是一種基于RAII(Resource Acquisition Is Initialization,資源獲取即初始化)機制的高級內存管理工具,用于自動化…

Mybatis----留言板

基礎項目:留言板 截止到目前為止,我們已經學習了 Spring(只學習了DI)、Spring MVC、SpringBoot、Mybatis 這些知識了,已經滿足了做簡單項目的基本要求了,所以接下來我們就從0到1實現表白墻項目。 需求分析…

Web-API-day3 DOM事件進階

一、 事件流 1.事件冒泡 const fa document.querySelector(.father)const son document.querySelector(.son)document.addEventListener(click, function () {alert(我是爺爺)})fa.addEventListener(click, function () {alert(我是爸爸)})son.addEventListener(click, fun…