【 0 基礎 Docker 極速入門】鏡像、容器、常用命令總結

Docker Images(鏡像)生命周期

請添加圖片描述
Docker 是一個用于創建、部署和運行應用容器的平臺。為了更好地理解 Docker 的生命周期,以下是相關概念的介紹,并說明它們如何相互關聯:

  1. Docker

    • Docker 是一個開源平臺,用于自動化應用程序在輕量級、便攜式容器中的部署、擴展和管理。
  2. Dockerfile

    • Dockerfile 是一個文本文件,包含一系列指令,用于構建 Docker 鏡像。每個指令在 Docker 鏡像中創建一個新的層。
  3. build

    • docker build 命令用于從 Dockerfile 構建一個 Docker 鏡像。該命令讀取 Dockerfile 的內容,并按照其中的指令一步步創建鏡像。
  4. Images

    • Docker 鏡像是一個不可變的文件,它包含了應用程序以及其運行所需的一切。鏡像是基于層的,每層代表一個文件系統的快照。
  5. tag

    • 標簽用于給 Docker 鏡像賦予一個易于識別的名字和版本號。比如,myapp:1.0 中的 1.0 就是一個標簽。
  6. registry

    • Docker 倉庫是存儲和分發 Docker 鏡像的地方。最常用的公共倉庫是 Docker Hub,也可以有私有倉庫。
  7. push

    • docker push 命令用于將本地 Docker 鏡像上傳到 Docker 倉庫中,以便在其他環境中使用或共享。
  8. pull

    • docker pull 命令用于從 Docker 倉庫中下載鏡像到本地環境。
  9. Containers

    • 容器是從鏡像創建的一個實例,運行應用程序。容器是輕量級的隔離環境,確保應用程序的獨立運行。
  10. run

    • docker run 命令用于創建并啟動一個新的容器。例如,docker run myapp:1.0 會從 myapp:1.0 鏡像創建并啟動一個容器。
  11. commit

    • docker commit 命令用于將一個正在運行的容器保存為一個新的鏡像。這對于保存容器的當前狀態很有用。
  12. stop

    • docker stop 命令用于停止一個正在運行的容器。停止的容器可以通過 start 命令重新啟動。
  13. start

    • docker start 命令用于啟動一個已經停止的容器,而不是創建一個新的實例。
  14. restart

    • docker restart 命令用于重新啟動一個正在運行或已經停止的容器。
  15. save

    • docker save 命令用于將一個或多個鏡像保存為一個 tar 文件,以便在不同的系統之間傳輸。比如,docker save -o backup.tar myapp:1.0
  16. load

    • docker load 命令用于從一個 tar 文件中加載鏡像。例如,docker load -i backup.tar
  17. Local Docker instance

    • 本地 Docker 實例是指在本地計算機上運行的 Docker 引擎,用于構建、運行和管理容器。
  18. My computer

    • 我的計算機是指用戶個人的計算設備,上面可以安裝 Docker 引擎,允許用戶在本地構建和運行 Docker 容器。
  19. backup.tar

    • 這是一個由 docker save 命令生成的 tar 文件,包含一個或多個 Docker 鏡像的備份。它可以用 docker load 命令恢復到本地 Docker 實例。

通過這些概念,Docker 提供了一個完整的生命周期管理工具集,從創建和測試鏡像,到分發和運行容器,再到管理和備份鏡像。每個步驟都在 Docker 環境中起著關鍵作用,確保應用程序可以高效、可靠地運行在不同的計算環境中。

Docker Container(容器)生命周期

在這里插入圖片描述
Docker 容器管理涉及一系列命令和狀態,用于控制容器的生命周期。以下是對這些概念的簡要介紹:

  1. docker run

    • 創建并啟動一個新的容器。例如,docker run myapp:latest 會從 myapp:latest 鏡像創建并啟動一個容器。
  2. docker restart

    • 重新啟動一個正在運行或已停止的容器。相當于先執行 docker stop,然后再執行 docker start
  3. docker create

    • 僅創建一個新的容器,但不啟動它。可以后續用 docker start 來啟動這個容器。
  4. docker start

    • 啟動一個已經被創建但未運行的容器,或者重新啟動一個已停止的容器。
  5. created

    • 容器狀態,表示容器已經被創建,但還沒有被啟動。
  6. running

    • 容器狀態,表示容器正在運行中。
  7. docker 容器的主進程退出

    • 當容器內的主進程(PID 1)退出時,容器也會停止運行,狀態變為 exited
  8. docker 服務掛掉

    • 如果 Docker 守護進程(Docker Daemon)崩潰或停止,所有運行中的容器都會停止。
  9. docker pause

    • 暫停一個運行中的容器中的所有進程。
  10. docker unpause

    • 恢復一個被暫停的容器中的所有進程。
  11. docker rm

    • 刪除一個已停止的容器。例如,docker rm mycontainer 刪除名為 mycontainer 的容器。
  12. docker rm -f

    • 強制刪除一個正在運行的容器。這相當于先執行 docker stop 再執行 docker rm
  13. docker stop/docker kill

    • docker stop:優雅地停止一個運行中的容器,發送 SIGTERM 信號,允許進程進行清理。
    • docker kill:立即停止一個運行中的容器,發送 SIGKILL 信號,強制終止進程。
  14. paused

    • 容器狀態,表示容器中的所有進程已被暫停。
  15. exited

    • 容器狀態,表示容器中的主進程已經退出,容器已停止運行。
  16. deleted

    • 容器狀態,表示容器已經被刪除。

這些命令和狀態提供了全面的工具集,允許用戶管理 Docker 容器的整個生命周期,從創建、啟動、暫停、停止到最終刪除。這樣可以靈活地控制應用程序的運行和資源的使用。

參考博客:
[1] https://cloud.tencent.com/developer/article/1885678
[2] https://cloud.tencent.com/developer/article/1518465

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

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

相關文章

重生奇跡mu五大王國

勇者大陸王國 奇跡大陸的戰士,他們因為非常重視劍,而且穿著黑色的衣服,所以叫他們魔劍士。古代勇者大陸王國的魔劍士們都是用鎧甲偽裝自己的。但是這些個聯合國統一成一個帝國之后,勇者大陸王國漸漸成為一個小城市。千年之后的現…

數據持久化第七課-URL重寫與Ajax

數據持久化第七課-URL重寫與Ajax 一.預習筆記 1.URL重寫(對網頁地址進行保護) 首先編寫module,實現對網絡地址的處理 其次就是module的配置 最后驗證url重寫技術 2.Ajax數據交互 編寫后端響應數據 處理跨域的配置問題 運行項目得到后端響應數據的地址 編寫前端ajax進行數據請…

程序人生 - 前端拿到后端數據,不能直接用還要再處理,合理嗎?

前言 從后端拿到的 list 是散的,需要前端遍歷 list 根據 item 的某些屬性把同類型的 item 合并到一個 list 中,這樣合理嗎?我覺得這個不是應該在后端完成的嗎? 這種撕扯,讓我想起很久之前的一個笑話。我有個朋友之前…

EXCEL上傳得時候特殊情況

比如excel里面不全是我們需要的,還有一些需要處理EXCEL中的日期,去掉‘-’等 DATA:begin_row TYPE i VALUE 2,begin_col TYPE i VALUE 1,end_row TYPE i VALUE 9999,end_col TYPE i VALUE 90,filename TYPE rlgrap-filename,gt_excel TYPE zalsme…

AI產品經理系列-如何使用kimi快速撰寫用戶故事(含提示詞)

在AI時代,可能人人都可成為產品經理。 之前我們聊過如何使用kimi協助完成產品需求文檔,如何寫競品分析報告,這一篇我們聊聊用戶故事,如何使用kimi協助撰寫產品需求文檔中的用戶故事。 在此之前我們先了解下什么是用戶故事&#…

深入理解Django Serializer及其在Go語言中的實現20240604

深入理解Django Serializer及其在Go語言中的實現 在現代Web開發中,前后端分離已成為主流架構模式。作為開發者,我們經常需要處理數據的序列化和反序列化,以便在前后端之間傳遞數據。在Django中,Serializer是一個強大的工具&#…

Spring類加載機制揭秘:深度解析“驗證”階段

1. 引言 在Spring框架中,類加載機制是一個至關重要的環節,它確保了應用程序在運行時能夠正確地加載、鏈接和初始化所需的類。其中,驗證(Verification)作為類加載機制的一個重要階段,起到了至關重要的作用。…

車牌號碼智能監測識別攝像機

車牌號碼智能監測識別攝像機是一項革命性的技術,為交通管理和安全提供了全新的解決方案。這種攝像機利用先進的人工智能和圖像識別技術,能夠實時監測道路上的車輛,并準確識別車輛的車牌號碼,為交通管理和安全提供了強有力的支持。…

java 工作排序(Job Sequencing Problem)

給定一個作業數組,其中每個作業都有一個截止期限,如果作業在截止期限之前完成,則可獲得相關利潤。此外,每個作業都占用一個單位時間,因此任何作業的最小可能截止期限都是 1。如果一次只能安排一項作業,則最…

代碼隨想錄算法訓練營Day60 | 84.柱狀圖中最大的矩形 | Python | 個人記錄向

注:今天是代碼隨想錄訓練營的最后一天啦!!! 本文目錄 84.柱狀圖中最大的矩形做題看文章 以往忽略的知識點小結個人體會 84.柱狀圖中最大的矩形 代碼隨想錄:84.柱狀圖中最大的矩形 Leetcode:84.柱狀圖中最…

解決使用Python檢查本地網絡中運行的Web服務器的問題

如果我們要檢查本地網絡中運行的 Web 服務器,可以使用 Python 的 socket 模塊來進行網絡連接測試。以下是一個簡單的示例代碼,演示如何檢查本地網絡中運行的 Web 服務器: 1、問題背景 在學習如何使用 Python 時,一位用戶希望編寫…

從零開始:騰訊云輕量應用服務器上部署MaxKB項目(基于LLM大語言模型的知識庫問答系統)

使用騰訊云輕量應用服務器部署和使用MaxKB項目 前言 一, MaxKB介紹 MaxKB是基于LLM大語言模型的知識庫問答系統,旨在成為企業的最強大腦。它支持開箱即用,無縫嵌入到第三方業務系統,并提供多模型支持,包括主流大模型…

我們如何收到衛星信號?(導航電文,載波與測距碼)

衛星信號 在介紹所有衛星信號之前,首先要明確一些概念: 所有的衛星信號,都是一段電磁波,用戶接收的,也是一段電磁波。 但是我們認知中的電磁波,就是一段波,就像我們打出去的交一樣&#xff0c…

【UML用戶指南】-03-UML的14種圖

目錄 1、結構圖 1、類圖(class diagram) 2、對象圖(object diagram) 3、構件圖 (component diagram) 4、組合結構圖 5、包圖(package diagram) 6、部署圖(deploym…

Android輸入法IME(二)

2. IME初始化啟動流程 2.1. IME客戶端(IMM)初始化流程 涉及代碼文件路徑: frameworks/base/core/java/android/view/ViewRootImpl.java frameworks/base/core/java/android/view/WindowManagerGlobal.java frameworks/base/core/java/andro…

【kubernetes】k8s的面試寶典,等你來拿哦

目錄 一、pod的生命周期 二、創建 pod 的工作流程 三、ingres 有哪些組件并且描述出組件作用 ? 四、ingress 的工作原理 五、ingress 暴露服務的方式 六、pod 的組成 七、pod的本身性質(pod的種類與說明) 八、k8s命令 8.1在k8s中如何…

零基礎入門學習Python第二階04SQL詳解03

MySQL 新特性 JSON類型 很多開發者在使用關系型數據庫做數據持久化的時候,常常感到結構化的存儲缺乏靈活性,因為必須事先設計好所有的列以及對應的數據類型。在業務發展和變化的過程中,如果需要修改表結構,這絕對是比較麻煩和難…

AppStore搜索優化方法(ASO)

在競爭激烈的 App Store 中,如何讓你的應用脫穎而出,吸引更多用戶下載?其實從官方文檔描述中可以總結一些優化技巧,這是官方描述地址:搜索優化 – App Store – Apple Developer。通過官方描述我們可以總結到影響搜索結…

commander.js 入門指南:構建強大的命令行界面 (全網最全教程)

在Node.js的世界里,創建用戶友好的命令行界面(CLI)對于許多應用程序和工具來說至關重要。Commander.js 是一個廣受歡迎的 Node.js 包,它為開發者提供了一套簡潔而強大的 API,用于快速創建功能完備、用戶友好的命令行界…

如何用TCC方案輕松實現分布式事務一致性

本文作者:小米,一個熱愛技術分享的29歲程序員。如果你喜歡我的文章,歡迎關注我的微信公眾號“軟件求生”,獲取更多技術干貨! 哈嘍,大家好!我是小米,一個熱愛技術的活力小青年,今天要和大家分享的是一種在分布式系統中實現事務的一種經典方案——TCC(Try Confirm Canc…