docker 學習-- 01 基礎知識

docker 學習-- 01 基礎知識


文章目錄

  • docker 學習-- 01 基礎知識
  • 1.前言
    • 1.1 docker 是什么
    • 1.2 docker優點
      • 1.2.1 統一開發和生產環境:
      • 1.2.2 高性能:
      • 1.2.3 更輕松的維護和拓展:
      • 1.2.4 更輕松的遷移:
    • 1.3 docker缺點
      • 1.3.1 運行環境受限
      • 1.3.2 文件管理和網絡端口管理
      • 1.4總結
  • 2、docker 專業術語
    • 2.1Docker客戶端。
    • 2.2 Docker守護進程(Daemon)。
    • 2.3 Docker鏡像(Image)。
    • 2.4 Docker容器(Container)。
    • 2.5 鏡像倉庫(Repository)。


1.前言

1.docker 是什么 2.docker 可以做什么 3.如何用docker

1.1 docker 是什么

白話:
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然后發布到任何流行的
Linux或Windows操作系統的機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口
自己理解:解決環境不統一的問題

1.2 docker優點

1.2.1 統一開發和生產環境:

讓自己的環境和小伙伴們的版本都變成一樣的 包括線上和自己本地,減少因為環境引起的報錯;

1.2.2 高性能:

虛擬機的粒度是虛擬出的機 ,而Docker的粒度則是被限制的應用 ,相比較而言 Docker 的內存占用更少,更加輕量級,性能也更優。
而秒級的啟動,也可以讓我們啟動電腦時候,開發環境的運行是無感知的。


1.2.3 更輕松的維護和拓展:

場景1 當一個項目需要很多人如開發或者有一個人修改了自己本地的一些環境擴展,導致其他人也無法正常使用,使用docker的composer 擴展可以實現類似于 git 一樣的功能

1.2.4 更輕松的遷移:

場景1:當我們想給其他人提交一個展示 如果對方也使用docker 就可以輕松的運行起一套環境
場景2:可以開辟起一個新的環境 自己去測試東西

1.3 docker缺點

1.3.1 運行環境受限

這也就意味著 有些系統是無法運行docker 或者運行起來會有一些問題
(記錄時間 23-8-25僅供參考)
1.Windows
Windows 上運行 Docker 最新的版本需要 Windows 10 或 Windows Server 2016 及以上版本,并且需要啟用 Hyper-V。同時還需要安裝 Docker Desktop for Windows,該軟件提供了圖形化的容器管理界面,方便用戶進行容器的創建、管理和運行。Windows 系統下的容器可以運行 Windows Server Core 或 Nano Server 兩種系統鏡像,其中 Windows Server Core 鏡像大小為 2GB 左右,適合于需要支持 .NET Framework 應用或者需要完整 .NET 支持的應用,而 Nano Server 鏡像大小僅為幾百 MB,適合于需要快速啟動、較小體積和低安全風險的應用。
2.Linux (非常建議在Linux下使用進行docker 操作)
Linux 是 Docker 最廣泛使用的操作系統之一。Docker 支持多種 Linux 發行版,如 Debian、CentOS、Ubuntu 等。運行 Linux 容器時,Docker 鏡像是從 Docker Hub 獲取的,用戶可以搜索相關鏡像進行下載。Linux 系統鏡像大小比 Windows 系統鏡像要小得多,同時 Docker 還提供了 Alpine Linux 鏡像,體積更小,適合于啟動快速、網絡資源有限的環境下使用。用戶可以通過命令行或者 Dockerfile,使用 Docker 鏡像創建和管理容器。
3.macOS(這個本人也沒有實際運行僅供參考)
在 macOS 上運行 Docker 需要先安裝 Docker Desktop for Mac,該軟件提供了可視化的容器管理工具。 macOS 下的 Docker 容器只能部署 Linux 環境的應用,無法直接部署 Windows 應用。用戶可以在 Docker Hub 上搜索所需的 Linux 系統鏡像,然后通過 Docker Desktop for Mac 工具來創建和管理容器。

1.3.2 文件管理和網絡端口管理

1.docker 文件 都是運行在虛擬盤里,如果系統崩潰或者誤操作清理,也會造成問題文件丟失
一般的解決辦法 都是通過掛載到物理盤來存文件 或者管理到git 或者svn 上
2. 如果在本地需要映射端口出來
場景1 起一套 Php7+Nginx2.0+ Mysql 5.7+ Redis 6 環境 需要 開放 80 3306 6937 等接口
這個時候又起來一套 go 的環境 或者 又啟用一套其他 項目 也需要 開放 80 3306 6937 等接口
這個時候就需要去映射 比如本地 5555::80 6666::3306 7777::6937 需要自己去配置這些沖突

1.4總結

docker 還是非常值得學習的
1.docker 處理環境非常有優勢
2.學習新的東西有時間成本 以及遇到問題解決問題的成本 這是沒辦法避免的

2、docker 專業術語

2.1Docker客戶端。

通常指 Docker 提供的命令行工具,是 Docker 最基本的用戶接口。用戶通過 Docker 客戶端提交Docker
指令,Docker 守護進程接收并執行該指令。Docker 也有圖形化的客戶端工具。

2.2 Docker守護進程(Daemon)。

在 Docker 宿主機上運行 Docker,實際上運行的是 Docker 守護進程。用戶并不直接和 Docker 守護進程交互,而是通過
Docker 客戶端的命令來和它進行交互。

2.3 Docker鏡像(Image)。

一個Docker 鏡像是一個只讀的模板。例如,一個 Docker 鏡像可以包含一個 CentOS
的操作系統、一個MySQL的數據庫和一個Tomcat的應用服務器。Docker鏡像被用來創建Docker容器。Docker提供了一個簡單的方式來構建一個新的鏡像或更新一個已經存在的鏡像。用戶也可以從鏡像倉庫下載其他人已經創建好的
Docker 鏡像。

2.4 Docker容器(Container)。

通過 Docker 鏡像可以創建 Docker 容器。Docker 存任何東西,而的容器可以保這些東西是運行一個應用所必需的。可以把
Docker 容器看成是一個虛擬機。Docker
容器可以被運行、開啟、停止移動和刪除。每一個容器都是一個分離的、安全的應用平臺。Docker 容器是 Docker 的運行組件。

2.5 鏡像倉庫(Repository)。

Docker 的鏡像倉庫用于保存 Docker 鏡像,它可以是公共的存儲地方,也可以是私有的存儲地方.。 公共的鏡像倉庫由 Docker
Hub 提供,它提供了一個用戶可以使用的已有鏡像的集合。這些集合中的鏡像可以是你自己創建的,也可以是別人創建的。
私有的鏡像倉庫需要自己在私有環境中搭建,例如在企業內網中自行搭建。Harbor 是一個典型的私有的鏡像倉庫。

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

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

相關文章

item_sku-獲取sku詳細信息

一、接口參數說明: item_sku-獲取sku詳細信息,點擊更多API調試,請移步注冊API賬號點擊獲取測試key和secret 公共參數 請求地址: https://api-gw.onebound.cn/taobao/item_sku 名稱類型必須描述keyString是調用key(點擊獲取測試…

安全中間件的設計思路和簡單實踐

rasp 的侵入式特性和攔截特性導致開發和運維普通不太愿意配合,當生產環境出現問題時往往第一時間先把責任推給 rasp,逐漸的安全部門普遍只能把 rasp 設置為告警模式,而且越是大的集群攔截開的就越少,所以字節的 elkeid 和某外賣大…

P13-CNN學習1.3-ResNet(神之一手~)

論文地址:CVPR 2016 Open Access Repository https://arxiv.org/pdf/1512.03385.pdf Abstract 翻譯 深層的神經網絡越來越難以訓練。我們提供了一個殘差學習框架用來訓練那些非常深的神經網絡。我們重新定義了網絡的學習方式,讓網絡可以直接學習輸入信息與輸出信息…

Python-OpenCV中的圖像處理-圖像直方圖

Python-OpenCV中的圖像處理-圖像直方圖 圖像直方圖統計直方圖繪制直方圖Matplotlib繪制灰度直方圖Matplotlib繪制RGB直方圖 使用掩膜統計直方圖直方圖均衡化Numpy圖像直方圖均衡化OpenCV中的直方圖均衡化CLAHE 有限對比適應性直方圖均衡化 2D直方圖OpenCV中的2D直方圖Numpy中2D…

代碼隨想錄算法訓練營20期|第七天|哈希表part02|454.四數相加II ● 383. 贖金信 ● 15. 三數之和 ● 18. 四數之和 ● 總結

454.四數相加II 比較巧思的解法,先把nums1 和nums2的數兩兩相加,并存儲sum和次數 再在nums3和nums4里找對應和sum和為0的數值i,j Time: N^2 Space:N^2, 最壞情況下A和B的值各不相同,相加產生的數字個數為 n^2 class Solution {public int fo…

Spring AOP實踐:如何通過aop記錄日志?

目錄 一、依賴 二、自定義注解 三、切面 一、依賴 以SpringBoot工程為例&#xff0c;導入aop的依賴。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId> </dependency> 二…

為什么要自動化Web測試?

Web自動化是更快地實現所需結果的較佳方式。自動化測試在市場上引起了巨大的轟動。此軟件測試過程可以讓您使用正確的自動化測試工具和技術集自動執行測試過程。我們執行它是為了檢查軟件應用程序是否具有完全按照我們希望它執行的方式執行的勇氣。 比以往更快地獲得反饋 自動化…

基于Promise.resolve實現Koa請求隊列中間件

本文作者為360奇舞團前端工程師 前言 最近在做一個 AIGC 項目&#xff0c;后端基于 Koa2 實現。其中有一個需求就是調用兄弟業務線服務端 AIGC 能力生成圖片。但由于目前兄弟業務線的 AIGC 項目也是處于測試階段&#xff0c;能夠提供的服務器資源有限&#xff0c;當并發請求資源…

kafka和rabbitmq之間的區別以及適用場景

Kafka 和 RabbitMQ 都是流行的消息傳遞系統&#xff0c;用于實現分布式系統中的消息傳遞、事件處理和數據流。它們在設計和適用場景上有一些不同&#xff0c;下面詳細介紹它們之間的區別和適用場景。 Kafka 特點和優勢&#xff1a; 高吞吐量&#xff1a; Kafka 的設計目標是實…

【Java】數據交換 Json 和 異步請求 Ajax

&#x1f384;歡迎來到邊境矢夢的csdn博文&#xff0c;本文主要講解Java 中 數據交換和異步請求 Json&Ajax 的相關知識&#x1f384; &#x1f308;我是邊境矢夢&#xff0c;一個正在為秋招和算法競賽做準備的學生&#x1f308; &#x1f386;喜歡的朋友可以關注一下&#…

go mod 添加私有庫GOPRIVATE

私有地址 形式倉庫域名/組織名形式倉庫域名形式*倉庫域名 示例私有地址&#xff1a; gitee.com/takujo_admin 或者igitlab.com 多個私有地址,分割&#xff0c;示例&#xff1a; gitee.com,igitlab.com 修改env go env -w GOPRIVATE"私有地址" go env -w …

conda創建虛擬環境

創建虛擬環境是在計算機上設置一個獨立的空間&#xff0c;用于安裝和運行特定版本的軟件和依賴項&#xff0c;以避免與系統其他部分的沖突。 創建虛擬環境&#xff1a; conda create --name myenv python3.8 這將創建一個名為myenv的虛擬環境&#xff0c;并安裝Python 3.8版本。…

pwm接喇叭搞整點報時[keyestudio的8002模塊]

雖然現在查看時間很方便&#xff0c;但是其實好像我的時間觀念卻越來越差。于是決定搞一個整點報時&#xff0c;時常提醒自己時光飛逝&#xff0c;不要老是瞎墨跡。 這篇主要講一下拼裝方式和配置&#xff0c;就差不多了。不涉及什么代碼。3針的元器件&#xff0c;去掉正負接線…

day3 STM32 GPIO口介紹

GPIO接口簡介 通用輸入輸出接口GPIO是嵌入式系統、單片機開發過程最常用的接口&#xff0c;用戶可以通過編程靈活的對接口進行控制&#xff0c;實現對電路板上LED、數碼管、按鍵等常用設備控制驅動&#xff0c;也可以作為串口的數據收發管腳&#xff0c;或AD的接口等復用功能使…

網絡安全--iptables(待更新,累了)

總結&#xff1a; iptables 的關鍵概念和功能&#xff1a; 規則&#xff08;Rules&#xff09;&#xff1a; iptables 使用規則來定義特定的操作&#xff0c;例如允許或拒絕特定類型的網絡流量。每條規則都由條件和操作組成。條件可以是源 IP 地址、目標 IP 地址、端口號等&a…

thinkphp:對數據庫減少增加某個字段的值(dec、inc的用法)

例子&#xff1a;當字段po_num的值等于數組list_info中的po_num的值時修改數據庫表po_rcv_receipt_line中某些信息&#xff1a; 1、數據庫delivery_quantity字段的值 數據庫中delivery_quantity的值變量$list_info[write_quantity] ->inc(delivery_quantity, $list_info[…

【設計模式——學習筆記】23種設計模式——狀態模式State(原理講解+應用場景介紹+案例介紹+Java代碼實現)

文章目錄 案例引入介紹基本介紹登場角色應用場景 案例實現案例一類圖實現 案例二&#xff1a;借貸平臺源碼剖析傳統方式實現分析狀態修改流程類圖實現 案例三&#xff1a;金庫警報系統系統的運行邏輯偽代碼傳統實現方式使用狀態模式 類圖實現分析問題問題一問題二 總結文章說明…

國內芯片廠商創新突破,助力國產替代持續加速

近日&#xff0c;中商產業研究院發布最新研究報告顯示&#xff0c;今年1~5月份中國進口集成電路為1865億件&#xff0c;同比下降19.6%&#xff0c;同比去年5個月累計少進口了455億顆&#xff0c;平均每天少進口3億顆。與此同時&#xff0c;英特爾、AMD、美光、三星、SK海力士等…

OSI七層模型和TCP/IP四層模型

OSI七層模型和TCP/IP四層模型 七層模型(OSI) OSI七層模型&#xff08;Open Systems Interconnection Reference Model&#xff09;是一個用于計算機網絡體系結構的標準化框架&#xff0c;旨在定義網絡通信中不同層次的功能和協議。 各個層次具體如下&#xff1a; 物理層&am…

C語言 冒泡排序

目錄 一、原理 二、代碼演示 三、代碼優化 一、原理 假設&#xff1a; int arr[] { 9,8,7,6,5,4,3,2,1,0 }; 將 arr 內的元素進行升序排列&#xff0c;得到一個新的數組 int arr[] { 0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;…