日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker(基础理解)

發布時間:2025/4/5 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker(基础理解) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

回顧之前遇到的問題:

1、安裝一堆不同版本的python在本機,明明用pip安裝套件卻無法import

2、本地開發用的套件版本和生產環境不合,代碼一到生產環境就不能用

3、申請一個測試用的開發環境需要等一段時間

4、重新建立環境很麻煩,搞不清楚先前的環境到底裝了什么東西

用docker好處:

每次不用deploy算法跟ops從頭解釋一遍,專心開發,不用花太多時間管環境的事情

?

更新python版本,python2.7--python3.6

對應系統不同命令安裝python包,系統升級之后,很多東西需要重新pip,需要檢查代碼

如果有其它語言還需要配置相應環境

虛擬環境:

1、Isolation :python版本和包在它們自己的虛擬環境下

2、Organization:對于python包,每個項目可以維持他自己的需求虛擬環境

3、No-Globalization:don't require installing stuff globally on the system

隔離不同專案的環境:

virtualenv 1? ? ? ? ? ? ? ? ?virtualenv2

project1? ? ? ? ? ? ? ? ? ? ? ? project2

python2.7? ? ? ? ? ? ? ? ? ? ? ?python3.6

?上面針對python解法

如果環境更復雜,還有其它項目及其它語言對版本依賴等等

使用Container隔離環境

虛擬機和容器

? ? ? ? ?隔離環境

? ?

隔離環境主要分為三個等級 :應用層級、執行指令層級、硬體層級

最右邊:

? ? ? ? 硬體隔離 :(會想到雙系統) 優點:從底層相互隔離互不影響 缺點:浪費資源

? ? ? ? 一個不夠用從另一個挖過來,影響其它系統

最左邊:

? ? ? ? 硬體環境:hypervisor:host os 之后上面安裝虛擬機os1.2.3,每個虛擬機安裝自己的軟體,不同虛擬機無法溝通

? ? ? ? 缺點:運行太慢,每個硬體都需要虛擬層去模擬虛擬環境,每個vn故自己硬體

中間:

? ? ? ? ?硬體層,共同使用linux資源,應用層互不干擾,執行層共享資源

虛擬機和容器差異:

??

左邊虛擬機:

server:硬體環境

Host OS:windows 7 、windows 10

Hypervisor:Vmware、virtualbox

之后彼此獨立,在centos安裝自己東西,互不獨立,資源不共享,事先設置好每個虛擬機資源

Container:應用層面虛擬化,通過Docker與host OS進行交流,從應用層面開始的分離的而不是從host os開始隔離的

使用資源效率更好,因為可以利用底層資源

容器可以直接使用kernal資源

Containers彼此之間互相獨立,通過Interface,每個Containers都可以直接和linux上的Drivers溝通,來調度硬體資源,

可以直接使用資源,之間隔離是通過linux Kernel既有的功能(Namespaces、cgroups、SELinux)做隔離的,所以說它是應用端的隔離不需要重新模擬出一個os來操作

二者比較:

VMs? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Containers

硬體層:從新模擬出一臺系統? ? ? ? 從os層面模擬必須是linux os因為需要用到linux kernel

重:啟動速度慢? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 輕:啟動速度快

性能比較差? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 性能逼近原生

完全隔離更加安全? ? ? ? ? ? ? ? ? ? ? ? ? ? 進程之間隔離卻少一定安全性

Docker logo:

Container:大魚上的貨柜

Docker:像大魚一樣,載著各種容器運行

Docker是Contain一種,也是目前普遍的技術,

Docker主要三個用途:Build Ship and Run

Build:可以使用任何語言在docker containers 開發一個app,可以把你做的東西打包成一個鏡像文件,

ship:這個鏡像文件可以放到任何一臺安裝docker里面來使用

run:一般標準配置會運行1000個以上containers

Docker is a kind of container

Container可以想象一個貨柜可以在里面安裝東西

Docker把 自己Container打包成image,image可以疊起來,用哪個image直接調用就好

Docker的生命周期:

把需要的配置寫入到Dockerfile,通過build指令壓縮一個image,到本地通過docker的run指令,本機就可以用

Containers可以理解為讓你進,讓你操作的一個環境,Containers有自己的生命周期有stop、start、restart完全可以當成一個機器用

Containers有很多操作還可以用commit重新給它打包成image

大家之間互相共享可以把images push到Docker registry里面,也可以pull下來

也可以存起來backup.tar

和Docker一起工作:

Client和Docker_Host一般是指本機(本機裝個Docker_Host),Registry一般指遠端的機器,在本機可以通過docker build法會把指令傳送到Docker Daemon,Docker_Host一直有運行指令會把docker build指令的內容建立成image。 運行docker run 也會傳送到Docker Daemon 會搜索一下是否有image,如果有想要的image,就會run一下,變成containers,之后進行操作;如果本機沒有image,它回去遠端pull到image然后啟動它。

總結

以上是生活随笔為你收集整理的Docker(基础理解)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。