一区二区三区中文国产亚洲_另类视频区第一页_日韩精品免费视频_女人免费视频_国产综合精品久久亚洲

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Python技巧|Docker框架的使用系列教程(二)

Python技巧|Docker框架的使用系列教程(二)

來源:千鋒教育
發(fā)布人:小千
時(shí)間: 2021-04-16 09:45:00 1618537500

      大多數(shù)的Python程序員使用的都是virtualenv,但當(dāng)項(xiàng)目要求你快速上線或者部署多臺(tái)服務(wù)器環(huán)境的時(shí)候就需要將服務(wù)器一臺(tái)一臺(tái)的yum install、vim、restart…而docker就可以幫助你快速的粘貼過去。

      我的云服務(wù)器是Linux centOS(版本大于等于7.0)

      1.刪除可能存在的舊版本

      停止Docker服務(wù)器:systemctl stop docker

      查看當(dāng)前版本:rpm -qa |grep docker

      卸載軟件包:

      sudo yum remove docker docker-client docker-client-latest docker-common docker-

      latest docker-latest-logrotate docker-logrotate docker-engine

      刪除相關(guān)配置文件

1

      2. 新版本安裝

      軟件包安裝:yum install -y yum-utils device-mapper-persistent-data lvm2

      添加Docker源:yum-config-manager \ --add-repo \ https://download.docker.com/lin

      查看可安裝的版本:yum list docker-ce --showduplicates |sort -r

      安裝最新版本:

      yum makecache fast

      yum install docker-ce -y

      啟動(dòng)并開機(jī)自啟:

      systemctl start docker

      systemctl enable docker

      查看版本:docker version

      二、基本概念

2

      鏡像

      操作系統(tǒng)分為內(nèi)核和用戶空間。對于Linux而言,內(nèi)核啟動(dòng)后,會(huì)掛載root文件系統(tǒng)為其提供用戶空間支持。而Docker鏡像(Image),就相當(dāng)于是一個(gè)root文件系統(tǒng)。

      Docker鏡像是一個(gè)特殊的文件系統(tǒng),除了提供容器運(yùn)行時(shí)所需的程序、庫、資源、配置等文件外,還包含了一些為運(yùn)行時(shí)準(zhǔn)備的一些配置參數(shù)(如匿名卷、環(huán)境變量、用戶等)。 鏡像不包含任何動(dòng)態(tài)數(shù)據(jù),其內(nèi)容在構(gòu)建之后也不會(huì)被改變。

      分層存儲(chǔ) 鏡像只是一個(gè)虛擬的概念,其實(shí)際體現(xiàn)并非由一個(gè)文件組成,而是由一組文件系統(tǒng)組成,或者說,由多層文件系統(tǒng)聯(lián)合組成。

      Docker設(shè)計(jì)時(shí),就充分利用Union FS的技術(shù),將其設(shè)計(jì)為分層存儲(chǔ)的架構(gòu)。 鏡像實(shí)際是由多層文件系統(tǒng)聯(lián)合組成。

3

      Union FS

      聯(lián)合文件系統(tǒng)是(Union FS)是linux的存儲(chǔ)技術(shù),也是Docker鏡像的存儲(chǔ)方式。 它是分層的文件系統(tǒng),將不同目錄拉到同一個(gè)虛擬目錄下。下圖展示了Docker用Union FS 搭建的分層鏡像:(比如最下層是操作系統(tǒng)的引導(dǎo),上一層是Linux操作系統(tǒng),再上一層是Tomcat,jdk,再上一層是應(yīng)用代碼)這些層是只讀的,加載完后這些文件會(huì)被看成是同一個(gè)目錄,相當(dāng)于只有一個(gè)文件系統(tǒng)。

      鏡像構(gòu)建時(shí),會(huì)一層層構(gòu)建,前一層是后一層的基礎(chǔ)。每一層構(gòu)建完就不會(huì)再發(fā)生改變,后一層上的任何改變只發(fā)生在自己這一層。比如,刪除前一層文件的操作,實(shí)際不是真的刪除前一層的文件,而是僅在當(dāng)前層標(biāo)記為該文件已刪除。在最終容器運(yùn)行的時(shí)候,雖然不會(huì)看到這個(gè)文件,但是實(shí)際上該文件會(huì)一直跟隨鏡像。因此,在構(gòu)建鏡像的時(shí)候,需要額外小心,每一層盡量只包含該層需要添加的東西,任何額外的東西應(yīng)該在該層構(gòu)建結(jié)束前清理掉。

      容器(Container)——鏡像運(yùn)行時(shí)的實(shí)體

      鏡像(Image)和容器(Container)的關(guān)系,就像是面向?qū)ο蟪绦蛟O(shè)計(jì)中的類和實(shí)例一樣,鏡像是靜態(tài)的定義,容器是鏡像運(yùn)行時(shí)的實(shí)體。容器可以被創(chuàng)建、啟動(dòng)、停止、刪除、暫停等 。

      容器的實(shí)質(zhì)是進(jìn)程,但與直接在宿主執(zhí)行的進(jìn)程不同,容器進(jìn)程運(yùn)行于屬于自己的獨(dú)立的命名空間。前面講過鏡像使用的是分層存儲(chǔ),容器也是如此。

      容器存儲(chǔ)層的生存周期和容器一樣,容器消亡時(shí),容器存儲(chǔ)層也隨之消亡。因此,任何保存于容器存儲(chǔ)層的信息都會(huì)隨容器刪除而丟失。

      倉庫(Repository)——集中存放鏡像文件的地方

      鏡像構(gòu)建完成后,可以很容易的在當(dāng)前宿主上運(yùn)行,但是, 如果需要在其它服務(wù)器上使用這個(gè)鏡像,我們就需要一個(gè)集中的存儲(chǔ)、分發(fā)鏡像的服務(wù),Docker Registry就是這樣的服務(wù)。

      一個(gè)Docker Registry中可以包含多個(gè)倉庫(Repository);每個(gè)倉庫可以包含多個(gè)標(biāo)簽(Tag);每個(gè)標(biāo)簽對應(yīng)一個(gè)鏡像。所以說:鏡像倉庫是Docker用來集中存放鏡像文件的地方類似于我們之前常用的代碼倉庫。

      通常,一個(gè)倉庫會(huì)包含同一個(gè)軟件不同版本的鏡像,而標(biāo)簽就常用于對應(yīng)該軟件的各個(gè)版本 。我們可以通過<倉庫名>:<標(biāo)簽>的格式來指定具體是這個(gè)軟件哪個(gè)版本的鏡像。如果不給出標(biāo)簽,將以latest作為默認(rèn)標(biāo)簽。(以 Ubuntu 鏡像為例,ubuntu是倉庫的名字,其內(nèi)包含有不同的版本標(biāo)簽,如,14.04,16.04。我們可以通過ubuntu:14.04,或者ubuntu:16.04來具體指定所需哪個(gè)版本的鏡像。如果忽略了標(biāo)簽,比如ubuntu,那將視為ubuntu:latest。)

      Docker Registry公開服務(wù)和私有Docker Registry的概念:

      Docker Registry公開服務(wù)是開放給用戶使用、允許用戶管理鏡像的Registry服務(wù)。一般這類公開服務(wù)允許用戶免費(fèi)上傳、下載公開的鏡像,并可能提供收費(fèi)服務(wù)供用戶管理私有鏡像。

      最后如果你對Python培訓(xùn)課程感興趣的話,不妨來千鋒Python培訓(xùn)班了解一下我們的Python培訓(xùn)課程,更有免費(fèi)的Python學(xué)習(xí)資料可以領(lǐng)取,趕緊來咨詢一下吧。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
C++的traits技術(shù)到底是什么?

在C++編程中,traits是一種編程技巧,其主要目的是在編譯時(shí)提供關(guān)于類型的額外信息。它可以將類型的一些特性(如其關(guān)聯(lián)類型、屬性、函數(shù)等)抽...詳情>>

2023-10-14 03:00:03
汽車行業(yè)什么工作會(huì)用到MATLAB?

MATLAB在汽車行業(yè)的應(yīng)用MATLAB是一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析和數(shù)值計(jì)算的高級語言和交互式環(huán)境。在汽車行業(yè)中,MATLAB的應(yīng)用非常廣...詳情>>

2023-10-14 02:45:08
紅帽RHEL8和7有什么區(qū)別?

一、軟件包管理器的區(qū)別軟件包管理器是操作系統(tǒng)中管理軟件包的工具,RHEL 8和7在軟件包管理器方面有一些重要的區(qū)別:RHEL 8采用了新的軟件包管...詳情>>

2023-10-14 02:41:24
什么是軟件即服務(wù)(SaaS)?

一、軟件即服務(wù)(SaaS)的定義軟件即服務(wù)(SaaS)是一種基于云計(jì)算的軟件交付模式,用戶可以通過訂閱或按需使用這些應(yīng)用程序。在傳統(tǒng)模式下,軟...詳情>>

2023-10-14 02:39:43
oracle怎么樣實(shí)現(xiàn)數(shù)據(jù)庫跨機(jī)房同步?

一、oracle怎么樣實(shí)現(xiàn)數(shù)據(jù)庫跨機(jī)房同步除了使用第三方工具,Oracle提供了extended cluster可以實(shí)現(xiàn)類似的功能,使用Oracle RAC + ASM。簡單說下...詳情>>

2023-10-14 01:57:43