Docker常用命令操作指南(一)

Docker常用命令操作指南-1

    • 一、Docker鏡像相關命令
      • 1.1 搜索鏡像(docker search)
      • 1.2 拉取鏡像(docker pull)
      • 1.3 查看本地鏡像(docker images)
      • 1.4 刪除鏡像(docker rmi)
    • 二、Docker容器相關命令
      • 2.1 運行容器(docker run)
      • 2.2 查看容器(docker ps)
      • 2.3 停止與啟動容器(docker stop/docker start)
      • 2.4 進入容器(docker exec/docker attach)
      • 2.5 刪除容器(docker rm)
    • 三、Docker倉庫相關命令
      • 3.1 登錄與登出倉庫(docker login/docker logout)
      • 3.2 推送鏡像到倉庫(docker push)
    • 四、Docker其他實用命令
      • 4.1 查看Docker系統信息(docker info)
      • 4.2 查看容器日志(docker logs)
    • 總結

在容器化技術飛速發展的今天,Docker已成為開發者和運維人員不可或缺的工具,而熟練掌握Docker的基礎命令,是高效使用Docker進行應用開發、部署和管理的基石。本文我將圍繞Docker鏡像、容器、倉庫等核心操作,并結合相關示例,帶你深入了解Docker基礎命令的使用方法與技巧。

一、Docker鏡像相關命令

鏡像作為Docker的核心概念之一,是創建容器的基礎。常用的鏡像操作命令如下:

1.1 搜索鏡像(docker search)

當我們需要獲取某個應用的鏡像時,可以使用 docker search 命令在Docker Hub等鏡像倉庫中搜索鏡像。命令格式如下:

docker search [OPTIONS] TERM

例如,搜索Nginx鏡像:

docker search nginx

執行該命令后,會列出Nginx相關鏡像的信息,包括鏡像名稱、描述、星級評分、官方與否等。其中常用選項 -s 可用于按星級評分篩選鏡像,如 docker search -s 5 nginx 表示搜索評分5星及以上的Nginx鏡像。

1.2 拉取鏡像(docker pull)

找到合適的鏡像后,使用 docker pull 命令將其下載到本地。命令格式為:

docker pull [OPTIONS] NAME[:TAG]

NAME 為鏡像名稱,TAG 是鏡像的標簽,用于標識鏡像的版本,不指定 TAG 時默認拉取 latest 標簽的鏡像。例如,拉取最新版的Nginx鏡像:

docker pull nginx

若要拉取特定版本,如Nginx 1.23.3版本:

docker pull nginx:1.23.3

1.3 查看本地鏡像(docker images)

使用 docker images 命令可以查看本地已下載的鏡像列表,命令格式:

docker images [OPTIONS] [REPOSITORY[:TAG]]

執行后會顯示鏡像的倉庫名、標簽、鏡像ID、創建時間和大小等信息。例如,只查看Nginx相關鏡像:

docker images nginx

常用選項 -q 可僅顯示鏡像ID,方便后續操作,如 docker images -q nginx

1.4 刪除鏡像(docker rmi)

當鏡像不再需要時,可使用 docker rmi 命令刪除。格式為:

docker rmi [OPTIONS] IMAGE [IMAGE...]

IMAGE 可以是鏡像ID、鏡像名:標簽等。比如刪除本地的Nginx鏡像(通過鏡像ID刪除):

docker rmi <鏡像ID>

若鏡像被容器使用,直接刪除會報錯,可先停止并刪除相關容器,或使用 -f 強制刪除,如 docker rmi -f nginx

二、Docker容器相關命令

容器是鏡像的運行實例,容器的常見操作命令如下:

2.1 運行容器(docker run)

docker run 是最常用的命令之一,用于創建并運行一個容器,格式如下:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

其中 OPTIONS 有很多實用參數:

  • -d:以后臺守護進程模式運行容器;
  • -p:端口映射,格式為 宿主機端口:容器端口,如 docker run -d -p 8080:80 nginx 將宿主機8080端口映射到容器80端口;
  • -v:數據卷掛載,實現宿主機與容器間的數據共享,如 docker run -v /host/data:/container/data nginx
  • --name:為容器指定一個名稱 ,方便后續管理,如 docker run --name my-nginx nginx

例如,以守護進程模式運行一個Nginx容器,并映射端口:

docker run -d -p 80:80 --name my-nginx nginx

2.2 查看容器(docker ps)

使用 docker ps 命令查看正在運行的容器,格式:

docker ps [OPTIONS]

常用選項:

  • -a:顯示所有容器(包括已停止的);
  • -l:顯示最近創建的容器;
  • -q:僅顯示容器ID。

如查看所有容器:

docker ps -a

2.3 停止與啟動容器(docker stop/docker start)

停止正在運行的容器使用 docker stop 命令,格式為 docker stop [OPTIONS] CONTAINER [CONTAINER...] ,例如停止名為 my-nginx 的容器:

docker stop my-nginx

啟動已停止的容器用 docker start ,格式類似,如 docker start my-nginx 。此外,docker restart 命令可用于重啟容器,相當于先停止再啟動。

2.4 進入容器(docker exec/docker attach)

進入正在運行的容器有兩種方式:

  • docker exec:在容器中執行一個新的命令,并進入交互模式,推薦使用。格式為 docker exec -it CONTAINER COMMAND ,如進入Nginx容器的Shell:
docker exec -it my-nginx bash
  • docker attach:直接進入容器的標準輸入、輸出和錯誤輸出流,當多個窗口同時attach時會產生干擾,使用較少。

2.5 刪除容器(docker rm)

刪除已停止的容器使用 docker rm 命令,格式為 docker rm [OPTIONS] CONTAINER [CONTAINER...] ,如刪除 my-nginx 容器:

docker rm my-nginx

若要刪除正在運行的容器,可使用 -f 強制刪除 ,即 docker rm -f my-nginx

三、Docker倉庫相關命令

Docker倉庫用于存儲鏡像,與倉庫交互的常用命令如下:

3.1 登錄與登出倉庫(docker login/docker logout)

登錄Docker Hub等倉庫使用 docker login 命令,格式:

docker login [OPTIONS] [SERVER]

執行后按提示輸入用戶名和密碼即可登錄。登出使用 docker logout ,如 docker logout

3.2 推送鏡像到倉庫(docker push)

將本地鏡像推送到倉庫使用 docker push 命令,格式為 docker push NAME[:TAG] ,但需要先確保鏡像名稱符合倉庫的命名規范(通常包含倉庫地址、用戶名等信息)。例如,將本地鏡像推送到Docker Hub:

docker push username/repository:tag

四、Docker其他實用命令

4.1 查看Docker系統信息(docker info)

docker info 命令用于查看Docker系統的詳細信息,包括磁盤使用、鏡像數量、容器數量、存儲驅動等。執行 docker info 即可查看相關內容。

4.2 查看容器日志(docker logs)

通過 docker logs 命令查看容器的運行日志,格式為 docker logs [OPTIONS] CONTAINER 。常用選項 -f 可實時跟蹤日志輸出,如查看Nginx容器日志:

docker logs -f my-nginx

總結

本文我簡單介紹了Docker在鏡像、容器、倉庫等方面的基礎命令,涵蓋了從鏡像獲取、容器創建運行到倉庫交互等基礎核心操作。以后我還將深入介紹 Docker 常用的其他命令,敬請期待吧~

若這篇內容幫到你,動動手指支持下!關注不迷路,干貨持續輸出!
ヾ(′? ˋ)ノヾ(′? ˋ)ノヾ(′? ˋ)ノヾ(′? ˋ)ノヾ(′? ˋ)ノ

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

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

相關文章

軟件性能之CPU

性能是個宏大而駁雜話題&#xff0c;從代碼&#xff0c;到網絡&#xff0c;到實施&#xff0c;方方面面都會涉及到性能問題&#xff0c;網上對性能講解的文章多如牛毛&#xff0c;從原理到方法再到工具都有詳細的介紹&#xff0c;本文雖不能免俗&#xff0c;但期望能從另外一個…

[SC]SystemC在CPU/GPU驗證中的應用(三)

SystemC在CPU/GPU驗證中的應用(三) 摘要:下面分享50個逐步升級SystemC編程能力的示例及建議的學習路線圖。您可以一次一批地完成它們——從前五個基礎的例子開始,然后轉向channels, TLM, bus models, simple CPU/GPU kernels等等。在每個階段掌握之后,再進行下一組…

如何設計高效的數據湖架構:存儲策略、Schema 演進與數據生命周期管理

本文圍繞現代數據湖架構的核心設計理念與實踐展開,重點討論如何高效組織數據存儲、支持 Schema 演進與版本管理、實現冷熱數據分層存儲和生命周期治理,確保數據湖在性能、成本、演進和治理能力上的全面可控。 ?? 一、數據湖架構演進概覽 傳統數據倉庫面對高頻更新、Schema…

建筑兔零基礎人工智能自學記錄101|Transformer(1)-14

Transformer 谷歌提出&#xff0c;一組編碼-解碼器 可以同時處理&#xff0c;通過位置編碼來處理單詞 實質是token詞語接龍&#xff08;只是有不同的概率&#xff09; token對應向量 Transformer簡述 文生圖就需要用到transformer黑箱 token 內部層次 中間主要是embedding…

Unity基礎學習(十二)Unity 物理系統之范圍檢測

目錄 一、關于范圍檢測的主要API&#xff1a; 1. 盒狀范圍檢測 Physics.OverlapBox 2. 球形范圍檢測 Physics.OverlapSphere 3. 膠囊范圍檢測 Physics.OverlapCapsule 4. 盒狀檢測 NonAlloc 版 5. 球形檢測 NonAlloc 版 6. 膠囊檢測 NonAlloc 版 二、關于API中的兩個重…

構建安全高效的郵件網關ngx_mail_ssl_module

一、快速上手&#xff1a;最小配置示例 worker_processes auto;mail {server {# 監聽 IMAP over TLSlisten 993 ssl;protocol imap;# TLS 協議與密碼套件ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers HIGH:!aNULL:!MD5;# 證書與私鑰ssl_…

打卡day41

知識回顧 數據增強卷積神經網絡定義的寫法batch歸一化&#xff1a;調整一個批次的分布&#xff0c;常用與圖像數據特征圖&#xff1a;只有卷積操作輸出的才叫特征圖調度器&#xff1a;直接修改基礎學習率 卷積操作常見流程如下&#xff1a; 1. 輸入 → 卷積層 → Batch歸一化層…

MySQL高級查詢技巧:分組、聚合、子查詢與分頁【MySQL系列】

本文將深入探討 MySQL 高級查詢技巧&#xff0c;重點講解 GROUP BY、HAVING、各種聚合函數、子查詢以及分頁查詢&#xff08;LIMIT 語法&#xff09;的使用。文章內容涵蓋實際應用中最常見的報表需求和分頁實現技巧&#xff0c;適合有一定 SQL 基礎的開發者進一步提升技能。 一…

現代 CSS 高階技巧:實現平滑內凹圓角的工程化實踐

通過 數學計算 CSS mask 復合遮罩 實現的真正幾何內凹效果&#xff1a; 背景是一張圖片&#xff0c;用來證明中間的凹陷是透明的。 完整代碼&#xff1a; app.js import FormPage from "./pages/formPage"; import "./App.css"; const App () > {re…

Qt不同布局添加不同控件

對于這種 不同布局添加不同控件 的情況,可以采用以下幾種簡化方法: 方法 1:使用 std::pair 或 std::tuple 配對(C++17 推薦) for (auto [layout, widget] : {std::pair{m_layoutMistakeCalibrate,

MySQL 事務解析

1. 事務簡介 事務&#xff08;Transaction&#xff09; 是一組操作的集合&#xff0c;它是一個不可分割的工作單位&#xff0c;事務會把所有的操作作為一個整體一起向系統提交或撤銷操作請求&#xff0c;即這些操作要么同時成功&#xff0c;要么同時失敗。 經典案例&#xff1…

PyTorch中 torch.utils.data.DataLoader 的詳細解析和讀取點云數據示例

一、DataLoader 是什么&#xff1f; torch.utils.data.DataLoader 是 PyTorch 中用于加載數據的核心接口&#xff0c;它支持&#xff1a; 批量讀取&#xff08;batch&#xff09;數據打亂&#xff08;shuffle&#xff09;多線程并行加載&#xff08;num_workers&#xff09;自…

在MDK中自動部署LVGL,在stm32f407ZGT6移植LVGL-8.4,運行demo,顯示label

在MDK中自動部署LVGL&#xff0c;在stm32f407ZGT6移植LVGL-8.4 一、硬件平臺二、實現功能三、移植步驟1、下載LVGL-8.42、MDK中安裝LVGL-8.43、配置RTE4、配置頭文件 lv_conf_cmsis.h5、配置lv_port_disp_template 四、添加心跳相關文件1、在STM32CubeMX中配置TIM7的參數2、使能…

德思特新聞 | 德思特與es:saar正式建立合作伙伴關系

德思特新聞 2025年5月9日&#xff0c;德思特科技有限公司&#xff08;以下簡稱“德思特”&#xff09;與德國嵌入式系統專家es:saar GmbH正式達成合作伙伴關系。此次合作旨在將 es:saar 的先進嵌入式開發與測試工具引入中國及亞太市場&#xff0c;助力本地客戶提升產品開發效率…

fork函數小解

學了好久終于搞懂fork函數的一些作用 1. fork函數作用&#xff1a;用于創建新的子進程 這是fork最根本的功能&#xff0c;在父進程里創建新的子進程、 但是創建新的子進程之后呢&#xff1f; 子進程和父進程的關系是什么樣的&#xff1f; 為什么fork得到的子進程返回值為0&am…

opencv(C++) 變換圖像與形態學操作

文章目錄 使用腐蝕和膨脹圖像形態濾波器實現案例使用形態學濾波器對圖像進行開運算和閉運算實現案例在灰度圖像上應用形態學操作算子形態學梯度(Morphological Gradient)黑帽變換(Black-hat Transform)使用分水嶺算法進行圖像分割使用 MSER 提取顯著區域MSER 檢測與可視化使…

測試工程師學LangChain之promptTemplate 實戰筆記

一、引言:大模型時代的測試自動化革命 2025 年,隨著大模型(如 DeepSeek)在自動化測試領域的廣泛應用,Prompt 編寫已成為測試工程師的核心技能之一。 為什么? 大模型輸出的質量 90% 取決于輸入的 PromptLangChain 的 PromptTemplate 提供了參數化 Prompt 的標準化方案Ope…

CP2K 軟件介紹與使用指南

CP2K 軟件介紹與使用指南 一、CP2K簡介 CP2K是一款開源的量子化學和固態物理模擬軟件包&#xff0c;主要用于原子尺度模擬&#xff0c;特別擅長以下領域&#xff1a; 第一性原理計算&#xff1a;基于密度泛函理論(DFT)的電子結構計算分子動力學(MD)&#xff1a;包括從頭算分…

npm、pnpm、yarn使用以及區別

npm 使用 安裝包&#xff1a;在項目目錄下&#xff0c;npm install <包名> 用于本地安裝包到 node_modules 目錄&#xff0c;并添加到 package.json 的 dependencies 中&#xff1b;npm install -g <包名> 用于全局安裝&#xff0c;適用于命令行工具等。初始化項目…

2025年北京市職工職業技能大賽第六屆信息通信行業網絡安全技能大賽復賽CTF部分WP-哥斯拉流量分析

2025年北京市職工職業技能大賽第六屆信息通信行業網絡安全技能大賽復賽CTF部分WP-哥斯拉流量分析 一、流量分析 題目沒有任何提示,附件gzl.pcap 解題哥斯拉流量300多KB包很多,沒啥經驗只能挨個看回來之后又狠狠得擼了一把哥斯拉流量分析我這里用的是哥斯拉4.0.1 測試鏈接…