版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第八章Docker北京西普陽(yáng)光教育科技股份有限公司授課講師:顧軍林目 錄Contents01 Docker的基本原理02 實(shí)驗(yàn)29:Docker安裝部署06 Docker Registry07 實(shí)驗(yàn)32:Docker Registry 的搭建和使用03實(shí)驗(yàn)30:Docker命令行操作08Kubernetes容器云04 Dockerfile09實(shí)驗(yàn)33 Kubernetes搭建和使用05 實(shí)驗(yàn)31:Dockerfile創(chuàng)建PHP鏡像10本章小結(jié)01Docker的基本原理Docker簡(jiǎn)介Docker 最初是Dotcloud 公司在法國(guó)期間發(fā)起的一個(gè)公司內(nèi)部項(xiàng)目。它是基于Dotcloud公司多年云服
2、務(wù)技術(shù)的一次革新,并于2013年3月以Apache 2.0授權(quán)協(xié)議開(kāi)源,主要項(xiàng)目代碼在Github上進(jìn)行維護(hù),Docker項(xiàng)目后來(lái)還加入了Linux , 并成立推動(dòng)開(kāi)放容器聯(lián)盟。Docker使用Google公司推出的Go語(yǔ)言進(jìn)行開(kāi)發(fā)實(shí)現(xiàn),基于Linux內(nèi)核的Cgroups、Namespace,AUFS類(lèi)的Union FS等技術(shù),對(duì)進(jìn)程進(jìn)行封裝隔離,屬于操作系統(tǒng)層面的虛擬化技術(shù)。由于隔離的進(jìn)程獨(dú)立于宿主和其他隔離的進(jìn)程,因此也稱(chēng)其為容器。最初的實(shí)現(xiàn)是基于LXC的;從Docker0.7以后開(kāi)始去除LXC,轉(zhuǎn)而使用自行開(kāi)發(fā)的Libcontainer;從Docker1.11開(kāi)始,則進(jìn)一步演進(jìn)為使用Ru
3、nc和Containerd。Docker 架構(gòu)圖Docker引擎是C/S的架構(gòu),Docker客戶(hù)端與Docker Daemon(守護(hù)進(jìn)程)進(jìn)行交互,Daemon負(fù)責(zé)構(gòu)建、運(yùn)行和發(fā)布Docker容器,Docker的客戶(hù)端與Daemon通過(guò)Restful API進(jìn)行Socket通信。Docker 架構(gòu)圖Docker基于Linux容器技術(shù)(LXC),Namespace,Cgroup,Unionfs(聯(lián)合文件系統(tǒng))等技術(shù)實(shí)現(xiàn):(1) Namespace(命名空間):每個(gè)容器都有自己獨(dú)立的命名空間,運(yùn)行在其中的應(yīng)用像是在獨(dú)立的操作系統(tǒng)中運(yùn)行一樣,命名空間保證了容器之間彼此互不影響。通過(guò)Namespace
4、實(shí)現(xiàn)了進(jìn)程和進(jìn)程之間所使用的資源隔離,使不同進(jìn)程之間彼此不可見(jiàn)。Docker用到的命名空間有:PID命名空間:用于隔離進(jìn)程,容器都有自己獨(dú)立的進(jìn)程ID;NET命名空間:用于管理網(wǎng)絡(luò),容器有自己獨(dú)立的Network Info;IPC命名空間:用于訪(fǎng)問(wèn)IPC資源(IPC:Inter Process Communication); MNT命名空間:用于管理掛載點(diǎn),每個(gè)容器都有自己唯一的目錄掛載;UTS命名空間:用于隔離內(nèi)核和版本標(biāo)識(shí)(UTC:Unix TimeProcess System),每個(gè)容器都有自己獨(dú)立的Hostname和Domain。(2) Cgroup(控制組):Cgroup是Linux
5、內(nèi)核的一個(gè)特性,主要用來(lái)對(duì)共享資源進(jìn)行隔離、限制、審計(jì)等。(3) UnionFS(聯(lián)合文件系統(tǒng)):是一種分層、輕量級(jí)并且高性能的文件系統(tǒng),它支持對(duì)文件系統(tǒng)的修改作為一次提交來(lái)一層層的疊加,同時(shí)可以將不同目錄掛載到同一個(gè)虛擬文件系統(tǒng)下Docker 架構(gòu)圖Docker引擎是C/S的架構(gòu),Docker客戶(hù)端與Docker Daemon(守護(hù)進(jìn)程)進(jìn)行交互,Daemon負(fù)責(zé)構(gòu)建、運(yùn)行和發(fā)布Docker容器,Docker的客戶(hù)端與Daemon通過(guò)Restful API進(jìn)行Socket通信。Docker核心概念Docker核心Image(鏡像)容器倉(cāng)庫(kù)(Registry)鏡像是一個(gè)只讀模板,由Docker
6、file文本描述鏡像的內(nèi)容。鏡像定義類(lèi)似面對(duì)對(duì)象的類(lèi),從一個(gè)基礎(chǔ)鏡像(Base Image)開(kāi)始。構(gòu)建一個(gè)鏡像實(shí)際就是安裝、配置和運(yùn)行的過(guò)程。鏡像可以用來(lái)創(chuàng)建Docker容器,一個(gè)鏡像可以創(chuàng)建很多容器。Image(鏡像)Docker鏡像基于UnionFS把以上過(guò)程進(jìn)行分層(Layer)存儲(chǔ),這樣更新鏡像可以只更新變化的層。Docker的描述文件為Dockerfile,Dockerfile是一個(gè)文本文件,基本指令如下:FROM: 定 義 基 礎(chǔ) 鏡 像 ; MAINTAINER:作者或者維護(hù)者; RUN: 運(yùn) 行 的 Linux 命 令 ; ADD: 增 加 文 件 或 目 錄 ; ENV: 定
7、 義 環(huán) 境 變 量 ; CMD:運(yùn)行進(jìn)程。container 容器容器是一個(gè)鏡像的運(yùn)行實(shí)例, 容器由鏡像創(chuàng)建, 運(yùn)行用戶(hù)指定的指令或者著Dockerfile定義的運(yùn)行指令,可以將其啟動(dòng)、停止、刪除,而這些容器都是相互隔離(獨(dú)立進(jìn)程),互不可見(jiàn)的。比如運(yùn)行ubuntu操作系統(tǒng)鏡像,-i前臺(tái)交互模型,-t分配一個(gè)偽終端,運(yùn)行命令為/bin/bash,代碼如下:rootdocker # docker run -i -t ubuntu /bin/bashUnable to find image ubuntu:latest locallyTrying to pull repository docker
8、.io/library/ubuntu . latest: Pulling from docker.io/library/ubuntu 6b98dfc16071: Pull complete4001a1209541: Pull complete 6319fc68c576: Pull complete b24603670dc3: Pull complete 97f170c87c6f: Pull complete Digest:sha256:5f4bdc3467537cbbe563e80db2c3ec95d548a9145d64453b06939c4592d67b6d倉(cāng)庫(kù)(Registry)Dock
9、er Registry也是一個(gè)容器,倉(cāng)庫(kù)分為公開(kāi)倉(cāng)庫(kù)(Public)和私有倉(cāng)庫(kù)(Private)兩種形式。最大的公開(kāi)倉(cāng)庫(kù)是Docker Hub,存放了數(shù)量龐大的鏡像供用戶(hù)下載。國(guó)內(nèi)的公開(kāi)倉(cāng)庫(kù)包括時(shí)速云、網(wǎng)易云等,可以提供大陸用戶(hù)更穩(wěn)定快速的訪(fǎng)問(wèn)。當(dāng)然,用戶(hù)也可以在本地網(wǎng)絡(luò)內(nèi)創(chuàng)建一個(gè)私有倉(cāng)庫(kù)。當(dāng)用戶(hù)創(chuàng)建了自己的鏡像之后就可以使用Push命令將它上傳到公有或者私有倉(cāng)庫(kù),這樣下次在另外一臺(tái)機(jī)器上使用這個(gè)鏡像時(shí)候,只需要從倉(cāng)庫(kù)上Pull下來(lái)就可以了。Docker 倉(cāng)庫(kù)的概念跟Git類(lèi)似,注冊(cè)服務(wù)器可以理解為Github這樣的托管服務(wù)。倉(cāng)庫(kù)-容器-鏡像關(guān)系Rq m si tor y1Ubun tu1地I
10、IpushCOJl)mit U02Docker安裝部署【實(shí)驗(yàn)29】 Docker安裝部署一、實(shí)驗(yàn)?zāi)康?掌握安裝Docker環(huán)境前的配置主機(jī)項(xiàng)。 掌握在CentOS 7系統(tǒng)上安裝Docker服務(wù)。 掌握配置國(guó)內(nèi)鏡像加速器的方法。二、實(shí)驗(yàn)內(nèi)容在物理機(jī)或虛擬機(jī)上,安裝Docker環(huán)境并配置國(guó)內(nèi)鏡像加速器。三、實(shí)驗(yàn)步驟詳細(xì)操作步驟見(jiàn)本書(shū)提供的操作視頻。03Docker命令行操作【實(shí)驗(yàn)30】 Docker命令行操作一、實(shí)驗(yàn)?zāi)康?熟悉使用Docker命令從鏡像倉(cāng)庫(kù)拉取鏡像。 熟悉對(duì)鏡像的簡(jiǎn)單操作。 熟悉運(yùn)行容器及對(duì)容器的簡(jiǎn)單操作。二、實(shí)驗(yàn)內(nèi)容通過(guò)命令行操作Docker,對(duì)鏡像、容器進(jìn)行簡(jiǎn)單的操作,加深對(duì)D
11、ocker Engine運(yùn)作方式的理解。三、實(shí)驗(yàn)步驟詳細(xì)操作步驟見(jiàn)本書(shū)提供的操作視頻。04DockerfileDockerfile簡(jiǎn)介鏡像是多層存儲(chǔ),每一層是在前一層的基礎(chǔ)上進(jìn)行的修改;而容器同樣也是多層存儲(chǔ),是以鏡像為基礎(chǔ)層,在其基礎(chǔ)上加一層作為容器運(yùn)行時(shí)的存儲(chǔ)層。創(chuàng)建鏡像有兩種方法,一種是docker commit命令,二是用Dockerfile方法。在介紹docker commit命令前,首先回顧一下對(duì)代碼的版本控制。當(dāng)修改代碼后,可以使用commit命令變更到版本服務(wù)器上。對(duì)于容器,當(dāng)創(chuàng)建容器后,如果后面對(duì)容器做了修改,就可以利用commit命令將修改提交為一個(gè)新的鏡像。Dockerf
12、ile是由一系列命令和參數(shù)構(gòu)成的腳本,這些命令應(yīng)用于基礎(chǔ)鏡像并最終創(chuàng)建一個(gè)新的鏡像。它簡(jiǎn)化了從頭到尾的流程,并極大的簡(jiǎn)化了部署工作。Dockerfile從FROM命令開(kāi)始,緊接著跟隨各種方法、命令和參數(shù)。其產(chǎn)出為一個(gè)新的可以用于創(chuàng)建容器的鏡像。Dockerfile指令詳解(1) FROM格式:FROM FROM指定構(gòu)建鏡像的基礎(chǔ)源鏡像,如果本地沒(méi)有指定的鏡像,則會(huì)自動(dòng)從Docker的公共庫(kù)pull鏡像下來(lái)。 FROM必須是Dockerfile中非注釋行的第一個(gè)指令,即一個(gè)Dockerfile從FROM語(yǔ)句開(kāi)始。(2) MAINTAINER格式:MAINTAINER 指定創(chuàng)建鏡像的用戶(hù)。(3)
13、RUN每條RUN指令將在當(dāng)前鏡像基礎(chǔ)上執(zhí)行指定命令,并提交為新的鏡像,RUN有兩種格式:RUN commandRUN “executable”,”param1”,”param2”.Dockerfile指令詳解(4) CMDCMD有三種使用格式:CMD “executable”,”param1”,”param2”. CMD “param1”,”param2”CMD command param1 param2(shell from)CMD的目的是為了在啟動(dòng)容器時(shí)提供一個(gè)默認(rèn)的命令執(zhí)行選項(xiàng)。如果用戶(hù)啟動(dòng)容器時(shí)指定了運(yùn)行的命令,則會(huì)覆蓋掉CMD指定的命令。(5) EXPOSE格式: EXPOSE .E
14、XPOSE指令告訴Docker服務(wù)端容器對(duì)外映射的本地端口,需要在docker run的時(shí)候使用-p或者-P選項(xiàng)生效。(6) ENV格式有兩種:ENV #只能設(shè)置一個(gè)變量ENV =.#允許一次設(shè)置多個(gè)變量Dockerfile指令詳解(7) ARG格式:ARG =ARG和ENV一樣,都是設(shè)置環(huán)境變量。所不同的時(shí),ARG所設(shè)置的是構(gòu)建環(huán)境的環(huán)境變量,在將來(lái)容器運(yùn)行時(shí)是不會(huì)存在這些環(huán)境變量的。(8) COPY 格式:COPY .COPY “,.”COPY兩種使用方式,一種類(lèi)似于命令行,一種類(lèi)似于函數(shù)調(diào)用。如:COPY package.json /usr/src/app/(9) ADDADD指令和CO
15、PY的格式及性質(zhì)基本一致,只是如果為一個(gè)TAR壓縮文件,且壓縮格式為GZIP、BZIP2及XZ的情況下,那么ADD指令將自動(dòng)解壓縮這個(gè)壓縮文件到。(10) ENTRYPOINTENTRYPOINT的目的和CMD一樣,都是在指定容器啟動(dòng)程序及參數(shù)。(11) VOLUME 格式:VOLUME “”,”. 或VOLUME 容器在運(yùn)行時(shí)應(yīng)盡量保持容器存儲(chǔ)層不發(fā)生寫(xiě)操作,數(shù)據(jù)庫(kù)類(lèi)需要保存動(dòng)態(tài)數(shù)據(jù)的應(yīng)用,其數(shù)據(jù)Dockerfile指令詳解(12) WORKDIR 格式:WORKDIR 使用WORKDIR指令可以用來(lái)指定工作目錄(或者稱(chēng)為當(dāng)前目錄),以后各層的當(dāng)前目錄就被為指定的目錄。該目錄需要已經(jīng)存在,W
16、ORKDIR并不會(huì)幫助開(kāi)發(fā)者建立目錄。WORKDIR指令可以在ENV設(shè)置變量之后調(diào)用環(huán)境變量:ENV DIRPATH /pathWORKDIR $DIRPATH/$DIRNAME最終路徑則為/path/$DIRNAME。(13) USER 格式:USER USER指令和WORKDIR相似,都可以改變環(huán)境狀態(tài)并影響以后的層。WORKDIR是改變工作目,USER則是改變之后的層執(zhí)行RUN、CMD及ENCRYPOINT這類(lèi)命令的身份。當(dāng)然,和WORKDIR一樣,USER只是幫助開(kāi)發(fā)者切換到指定用戶(hù)而已,如果這個(gè)用戶(hù)不存在,則法切換。05Dockerfile創(chuàng)建PHP鏡像【實(shí)驗(yàn)31】 Dockerfi
17、le創(chuàng)建PHP鏡像一、實(shí)驗(yàn)?zāi)康?掌握Dockerfile各個(gè)命令的使用。 通過(guò)Dockerfile創(chuàng)建PHP鏡像。二、實(shí)驗(yàn)內(nèi)容在宿主機(jī)端安裝配置Mariadb數(shù)據(jù)庫(kù)服務(wù),使用Dockerfile創(chuàng)建PHP鏡像并運(yùn)行,查看我們?cè)跀?shù)據(jù)庫(kù)中創(chuàng)建的表是否能夠正確顯示在Web界面。三、實(shí)驗(yàn)步驟詳細(xì)操作步驟見(jiàn)本書(shū)提供的操作視頻。06Docker RegistryDocker倉(cāng)庫(kù)簡(jiǎn)介鏡像構(gòu)建完成后,可以很容易的在當(dāng)前宿主機(jī)上運(yùn)行。但是,如果需要在其他服務(wù)器上使用這個(gè)鏡像,就需要一個(gè)集中的存儲(chǔ)、分發(fā)鏡像的服務(wù)器,Docker Registry(鏡像注冊(cè))就是這樣的服務(wù)。開(kāi)發(fā)者可以通過(guò):的格式來(lái)指定具體是這個(gè)軟
18、件哪個(gè)版本的鏡像。如果不給出標(biāo)簽,則以L(fǎng)atest作為默認(rèn)標(biāo)簽。Docker Registry服務(wù)可以分為兩種。一種為公開(kāi)并開(kāi)放給所有的用戶(hù)使用,包含用戶(hù)的搜索、拉取,鏡像提交時(shí)更新,還可以免費(fèi)保管用戶(hù)鏡像數(shù)據(jù)。這類(lèi)服務(wù)受制于網(wǎng)絡(luò)帶寬的限制,并不能及時(shí)、快速的獲取所需要的資源,但是優(yōu)點(diǎn)是可以獲取大部分并可以立即使用的鏡像,減少鏡像的制作時(shí)間。另外一種服務(wù)是在一定范圍對(duì)特定的用戶(hù)提供Registry服務(wù),一般存在于學(xué)校內(nèi)部、企業(yè)內(nèi)部的服務(wù)管理和研發(fā)等環(huán)境,這在一定程度上保證了鏡像拉取的速度,對(duì)內(nèi)部核心鏡像數(shù)據(jù)有保護(hù)作用,但是也存在鏡像內(nèi)容不豐富的問(wèn)題。私有倉(cāng)庫(kù)(1) 私有倉(cāng)庫(kù)特點(diǎn)倉(cāng)庫(kù)(Regis
19、try)是集中存放鏡像的地方,在上面我們已經(jīng)說(shuō)明了Docker倉(cāng)庫(kù)分為公有倉(cāng)庫(kù)和私有倉(cāng)庫(kù),然而公有倉(cāng)庫(kù)在某些情況下并不適用于公司內(nèi)部傳輸。通過(guò)對(duì)比兩種倉(cāng)庫(kù)的特點(diǎn),大致可以得出私有倉(cāng)庫(kù)有以下優(yōu)點(diǎn): 節(jié)省帶寬; 傳輸速度快; 方便存儲(chǔ)。(2) Docker Registry工作方式Docker Registry是Image的倉(cāng)庫(kù),當(dāng)開(kāi)發(fā)者編譯完成一個(gè)Image時(shí),就可以推送到公共的Registry,如Docker Hub,也可以推送到自己的私有Registry。使用DockerClient,開(kāi)發(fā)者可以搜索已經(jīng)發(fā)布的Image,從中拉去Image到本地,并在容器中運(yùn)行。07Docker Regist
20、ry的搭建和使用【實(shí)驗(yàn)32】 Docker Registry的搭建和使用一、實(shí)驗(yàn)?zāi)康?掌握在CentOS 7系統(tǒng)下搭建Docker Registry私有鏡像倉(cāng)庫(kù); 了解Docker Registry私有鏡像倉(cāng)庫(kù)的運(yùn)行原理; 掌握Docker API的使用。二、實(shí)驗(yàn)內(nèi)容將Docker Hub上面的Registry鏡像拉取到本地,運(yùn)行并上傳本機(jī)鏡像進(jìn)行測(cè)試是否可用,另外簡(jiǎn)單介紹了Docker API的基本使用。三、實(shí)驗(yàn)步驟詳細(xì)操作步驟見(jiàn)本書(shū)提供的操作視頻。08Kubernetes容器云Kubernetes簡(jiǎn)介Kubernetes是一個(gè)開(kāi)源的,用于管理云平臺(tái)中多個(gè)主機(jī)上的容器化的應(yīng)用, Kubern
21、etes的目標(biāo)是讓部署容器化的應(yīng)用簡(jiǎn)單并且高效(Powerful),Kubernetes提供了應(yīng)用部署,規(guī)劃,更新,維護(hù)的一種機(jī)制。Kubernetes一個(gè)核心的特點(diǎn)就是能夠自主的管理容器來(lái)保證云平臺(tái)中的容器按照用戶(hù)的期望狀態(tài)運(yùn)行著(比如用戶(hù)想讓Apache一直運(yùn)行,用戶(hù)不需要關(guān)心怎么去做, Kubernetes會(huì)自動(dòng)去監(jiān)控,然后去重啟,新建,總之,讓Apache一直提供服務(wù)),管理員可以加載一個(gè)微型服務(wù),讓規(guī)劃器來(lái)找到合適的位置,同時(shí),Kubernetes也系統(tǒng)提升工具以及人性化方面,讓用戶(hù)能夠方便的部署自己的應(yīng)用。Kubernetes對(duì)計(jì)算資源進(jìn)行了更高層次的抽象,通過(guò)將容器進(jìn)行細(xì)致的組合
22、,將最終的應(yīng)用服務(wù)交給用戶(hù)。Kubernetes在模型建立之初就考慮了容器跨機(jī)連接的要求,支持多種網(wǎng)絡(luò)解決方案,同時(shí)在Service層次構(gòu)建集群范圍的SDN網(wǎng)絡(luò)。Kubernetes核心概念(1) PODPOD是Kubernetes的基本操作單元,由相關(guān)的一個(gè)或多個(gè)容器構(gòu)成,共同對(duì)外提供服務(wù)。POD是一個(gè)統(tǒng)一管理及調(diào)度的基本單元,不可分割。(2) Replication ControllerReplication Controller(RC)確保任何時(shí)候Kubernetes集群中有指定數(shù)量的POD 副本( Replicas ) 在運(yùn)行, 如果多余指定數(shù)量的POD 副本在運(yùn)行, Replicat
23、ion Controller會(huì)殺死多余的POD。(3) ServiceService也是Kubernetes的基本操作單元,每一個(gè)服務(wù)后面都有多個(gè)對(duì)應(yīng)的POD提供支持。(4) LabelLabel是用于篩選POD、Service、Replication Controller的Key/Value鍵值對(duì)。Kubernetes架構(gòu)InternetKubectl(User Commands)FirewallauthorizationAuthenticationNodekubeletProxyAPISController Manager (replication Controller Etc.)Sche
24、dulingActuatorSchedulerSchedulerRest (PODS,Services, Rep.Controllers)Master components Colocated,or spread across machines,As dictated by cluster size.Node.ContainerdvisorCaPODContainerkubletCCDistributed Watchable Storage (implemented via etcd)PODProxyPODPODDockerCaPODPODDockerdvisorontainer.ontainerKubernetes架構(gòu)Kubernetes主要
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2北京2024版物業(yè)公司轉(zhuǎn)讓合同:價(jià)格、流程與標(biāo)的物
- 二零二五版自然人之間文化創(chuàng)意作品授權(quán)合同2篇
- 屋頂租賃違約金合同(2篇)
- 二零二五年度液化氣站送氣工勞動(dòng)合同書(shū)3篇
- 二零二五版本二手房買(mǎi)賣(mài)合同含房屋交易資金監(jiān)管條款3篇
- 二零二五年高端活動(dòng)贊助廣告發(fā)布合同模板3篇
- 二零二五年度離婚協(xié)議書(shū)起草與財(cái)務(wù)規(guī)劃服務(wù)合同3篇
- 2025年度汽車(chē)租賃行業(yè)擔(dān)保函制定與法律效力確認(rèn)合同3篇
- 二零二五年車(chē)庫(kù)購(gòu)置與車(chē)位租賃及產(chǎn)權(quán)登記服務(wù)合同樣本2篇
- 二零二五年污水處理廠污水處理能力提升合同3篇
- 2024年安徽省公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 山西省太原市重點(diǎn)中學(xué)2025屆物理高一第一學(xué)期期末統(tǒng)考試題含解析
- 充電樁項(xiàng)目運(yùn)營(yíng)方案
- 2024年農(nóng)民職業(yè)農(nóng)業(yè)素質(zhì)技能考試題庫(kù)(附含答案)
- 高考對(duì)聯(lián)題(對(duì)聯(lián)知識(shí)、高考真題及答案、對(duì)應(yīng)練習(xí)題)
- 新版《鐵道概論》考試復(fù)習(xí)試題庫(kù)(含答案)
- 【律師承辦案件費(fèi)用清單】(計(jì)時(shí)收費(fèi))模板
- 高中物理競(jìng)賽真題分類(lèi)匯編 4 光學(xué) (學(xué)生版+解析版50題)
- Unit1FestivalsandCelebrations詞匯清單高中英語(yǔ)人教版
- 2024年上海市中考語(yǔ)文試題卷(含答案)
- 幼兒園美術(shù)教育研究策略國(guó)內(nèi)外
評(píng)論
0/150
提交評(píng)論