一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

云服務(wù)器|WEB服務(wù)器|FTP服務(wù)器|郵件服務(wù)器|虛擬主機|服務(wù)器安全|DNS服務(wù)器|服務(wù)器知識|Nginx|IIS|Tomcat|

服務(wù)器之家 - 服務(wù)器技術(shù) - 服務(wù)器知識 - docker是干什么的?Docker簡介與安裝

docker是干什么的?Docker簡介與安裝

2021-04-25 16:52Docker教程網(wǎng) 服務(wù)器知識

docker是干什么的?Docker提供了一個可以運行你的應(yīng)用程序的封裝,或者說容器。它原本是dotCloud的一個內(nèi)部項目,開源的時候吸引了大量的關(guān)注與討論,后續(xù)導(dǎo)致dotCloud把公司名稱改為了Docker Inc。Docker 最初是在 Ubuntu 12.04 上開發(fā)實現(xiàn)

docker是干什么的?Docker簡介與安裝

Docker簡介;Docker與虛擬機區(qū)別;Docker的優(yōu)點及內(nèi)部組件說明;如何安裝Docker與鏡像加速配置。

docker是干什么的

 

Docker提供了一個可以運行你的應(yīng)用程序的封裝,或者說容器。它原本是dotCloud的一個內(nèi)部項目,開源的時候吸引了大量的關(guān)注與討論,后續(xù)導(dǎo)致dotCloud把公司名稱改為了Docker Inc。Docker 最初是在 Ubuntu 12.04 上開發(fā)實現(xiàn)的;Red Hat 則從 RHEL 6.5 開始對 Docker 進行支持;Google 也在其 PaaS 產(chǎn)品中廣泛應(yīng)用 Docker。

Docker 使用 Google 公司推出的 Go 語言進行開發(fā)實現(xiàn)并遵從Apache2.0協(xié)議開源,基于 Linux 內(nèi)核的 cgroup,namespace,以及 OverlayFS 類的 Union FS 等技術(shù),對進程進行封裝隔離,屬于操作系統(tǒng)層面的虛擬化技術(shù)。由于隔離的進程獨立于宿主和其它的隔離的進程,因此也稱其為容器。最初實現(xiàn)是基于 LXC,從 0.7 版本以后開始去除 LXC,轉(zhuǎn)而使用自行開發(fā)的 libcontainer,從 1.11 開始,則進一步演進為使用 runC 和 containerd。

Docker 在容器的基礎(chǔ)上,進行了進一步的封裝,從文件系統(tǒng)、網(wǎng)絡(luò)互聯(lián)到進程隔離等等,極大的簡化了容器的創(chuàng)建和維護。使得 Docker 技術(shù)比虛擬機技術(shù)更為輕便、快捷。

Docker將應(yīng)用程序與該程序的依賴,打包在一個文件里面。運行這個文件,就會生成一個虛擬容器。程序在這個虛擬容器里運行,就好像在真實的物理機上運行一樣。有了Docker,就不用擔(dān)心環(huán)境問題,這大大地提高了程序運行的靈活性和可移植性。

Docker屬于Linux容器的一種封裝,提供簡單易用的容器使用接口。總體來說,Docker的接口相當(dāng)簡單,用戶可以方便地創(chuàng)建和使用容器,把自己的應(yīng)用放入容器。容器還可以進行版本管理、復(fù)制、分享、修改,就像管理普通的代碼一樣。

Docker與虛擬機區(qū)別

 

下面的圖片比較了 Docker 和傳統(tǒng)虛擬化方式的不同之處。傳統(tǒng)虛擬機技術(shù)是虛擬出一套硬件后,在其上運行一個完整操作系統(tǒng),在該系統(tǒng)上再運行所需應(yīng)用進程;而容器內(nèi)的應(yīng)用進程直接運行于宿主的內(nèi)核,容器內(nèi)沒有自己的內(nèi)核,而且也沒有進行硬件虛擬。因此容器要比傳統(tǒng)虛擬機更為輕便。

docker是干什么的?Docker簡介與安裝

上圖:傳統(tǒng)虛擬化

docker是干什么的?Docker簡介與安裝

上圖:Docker

類別 Docker OpenStack/KVM
部署難度 非常簡單 組件多,部署復(fù)雜,耗時
啟動速度 秒級 分鐘級
執(zhí)行性能 和物理機幾乎一致 VM會占用一些資源
鏡像體積 鏡像MB級別 鏡像GB級別
管理效率 管理簡單 組件相互依賴,管理復(fù)雜
隔離性 隔離性高 徹底隔離
可管理性 單進程、不建議啟動SSH 完成的系統(tǒng)管理
網(wǎng)絡(luò)連接 比較弱 可以靈活組建各類網(wǎng)絡(luò)架構(gòu)

為什么要使用 Docker

 

更高效的利用系統(tǒng)資源

由于容器不需要進行硬件虛擬以及運行完整操作系統(tǒng)等額外開銷,Docker 對系統(tǒng)資源的利用率更高。無論是應(yīng)用執(zhí)行速度、內(nèi)存損耗或者文件存儲速度,都要比傳統(tǒng)虛擬機技術(shù)更高效。因此,相比虛擬機技術(shù),一個相同配置的主機,往往可以運行更多數(shù)量的應(yīng)用。

更快速的啟動時間

傳統(tǒng)的虛擬機技術(shù)啟動應(yīng)用服務(wù)往往需要數(shù)分鐘,而 Docker 容器應(yīng)用,由于直接運行于宿主內(nèi)核,無需啟動完整的操作系統(tǒng),因此可以做到秒級、甚至毫秒級的啟動時間。大大的節(jié)約了開發(fā)、測試、部署的時間。

一致的運行環(huán)境

開發(fā)過程中一個常見的問題是環(huán)境一致性問題。由于開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境不一致,導(dǎo)致有些 bug 并未在開發(fā)過程中被發(fā)現(xiàn)。而 Docker 的鏡像提供了除內(nèi)核外完整的運行時環(huán)境,確保了應(yīng)用運行環(huán)境一致性,從而不會再出現(xiàn) 「這段代碼在我機器上沒問題啊」 這類問題。

持續(xù)交付和部署

對開發(fā)和運維(DevOps)人員來說,最希望的就是一次創(chuàng)建或配置,可以在任意地方正常運行。

使用 Docker 可以通過定制應(yīng)用鏡像來實現(xiàn)持續(xù)集成、持續(xù)交付、部署。開發(fā)人員可以通過 Dockerfile 來進行鏡像構(gòu)建,并結(jié)合 持續(xù)集成(Continuous Integration) 系統(tǒng)進行集成測試,而運維人員則可以直接在生產(chǎn)環(huán)境中快速部署該鏡像,甚至結(jié)合 持續(xù)部署(Continuous Delivery/Deployment) 系統(tǒng)進行自動部署。

而且使用 Dockerfile 使鏡像構(gòu)建透明化,不僅僅開發(fā)團隊可以理解應(yīng)用運行環(huán)境,也方便運維團隊理解應(yīng)用運行所需條件,幫助更好的生產(chǎn)環(huán)境中部署該鏡像。

更輕松的遷移

由于 Docker 確保了執(zhí)行環(huán)境的一致性,使得應(yīng)用的遷移更加容易。Docker 可以在很多平臺上運行,無論是物理機、虛擬機、公有云、私有云,甚至是筆記本,其運行結(jié)果是一致的。因此用戶可以很輕易的將在一個平臺上運行的應(yīng)用,遷移到另一個平臺上,而不用擔(dān)心運行環(huán)境的變化導(dǎo)致應(yīng)用無法正常運行的情況。

更輕松的維護和擴展

Docker 使用的分層存儲以及鏡像的技術(shù),使得應(yīng)用重復(fù)部分的復(fù)用更為容易,也使得應(yīng)用的維護更新更加簡單,基于基礎(chǔ)鏡像進一步擴展鏡像也變得非常簡單。此外,Docker 團隊同各個開源項目團隊一起維護了一大批高質(zhì)量的 官方鏡像,既可以直接在生產(chǎn)環(huán)境使用,又可以作為基礎(chǔ)進一步定制,大大的降低了應(yīng)用服務(wù)的鏡像制作成本。

Docker內(nèi)部組件

Docker 包括三個基本概念:鏡像(Image)、容器(Container)、倉庫(Repository)

理解了這三個概念,就理解了 Docker 的整個生命周期。

Docker 鏡像

 

我們都知道,操作系統(tǒng)分為內(nèi)核和用戶空間。對于 Linux 而言內(nèi)核啟動后,會掛載 root 文件系統(tǒng)為其提供用戶空間支持。而 Docker 鏡像(Image)就相當(dāng)于是一個 root 文件系統(tǒng)。比如官方鏡像 ubuntu:18.04 就包含了完整的一套 Ubuntu 18.04 最小系統(tǒng)的 root 文件系統(tǒng)。

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

分層存儲

因為鏡像包含操作系統(tǒng)完整的 root 文件系統(tǒng),其體積往往是龐大的,因此在 Docker 設(shè)計時,就充分利用 Union FS 的技術(shù),將其設(shè)計為分層存儲的架構(gòu)。所以嚴格來說,鏡像并非是像一個 ISO 那樣的打包文件,鏡像只是一個虛擬的概念,其實際體現(xiàn)并非由一個文件組成,而是由一組文件系統(tǒng)組成,或者說,由多層文件系統(tǒng)聯(lián)合組成。

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

分層存儲的特征還使得鏡像的復(fù)用、定制變的更為容易。甚至可以用之前構(gòu)建好的鏡像作為基礎(chǔ)層,然后進一步添加新的層,以定制自己所需的內(nèi)容,構(gòu)建新的鏡像。

Docker 容器

 

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

容器的實質(zhì)是進程,但與直接在宿主執(zhí)行的進程不同,容器進程運行于屬于自己的獨立的命名空間。因此容器可以擁有自己的 root 文件系統(tǒng)、自己的網(wǎng)絡(luò)配置、自己的進程空間,甚至自己的用戶 ID 空間。容器內(nèi)的進程是運行在一個隔離的環(huán)境里,使用起來,就好像是在一個獨立于宿主的系統(tǒng)下操作一樣。這種特性使得容器封裝的應(yīng)用比直接在宿主運行更加安全。也因為這種隔離的特性,很多人初學(xué) Docker 時常常會混淆容器和虛擬機。

前面講過鏡像使用的是分層存儲,容器也是如此。每一個容器運行時,是以鏡像為基礎(chǔ)層,在其上創(chuàng)建一個當(dāng)前容器的存儲層,我們可以稱這個為容器運行時讀寫而準(zhǔn)備的存儲層為容器存儲層

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

按照 Docker 最佳實踐的要求,容器不應(yīng)該向其存儲層內(nèi)寫入任何數(shù)據(jù),容器存儲層要保持無狀態(tài)化。所有的文件寫入操作,都應(yīng)該使用數(shù)據(jù)卷(Volume)、或者綁定宿主目錄,在這些位置的讀寫會跳過容器存儲層,直接對宿主(或網(wǎng)絡(luò)存儲)發(fā)生讀寫,其性能和穩(wěn)定性更高。

數(shù)據(jù)卷的生存周期獨立于容器,容器消亡,數(shù)據(jù)卷不會消亡。因此,使用數(shù)據(jù)卷后,容器刪除或者重新運行之后,數(shù)據(jù)卻不會丟失。

Docker Registry

 

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

一個 Docker Registry 中可以包含多個倉庫(Repository);每個倉庫可以包含多個標(biāo)簽(Tag)每個標(biāo)簽對應(yīng)一個鏡像。

通常,一個倉庫會包含同一個軟件不同版本的鏡像,而標(biāo)簽就常用于對應(yīng)該軟件的各個版本。我們可以通過 <倉庫名>:<標(biāo)簽> 的格式來指定具體是這個軟件哪個版本的鏡像。如果不給出標(biāo)簽,將以 latest 作為默認標(biāo)簽。

倉庫名經(jīng)常以 兩段式路徑 形式出現(xiàn),比如 jwilder/nginx-proxy,前者往往意味著 Docker Registry 多用戶環(huán)境下的用戶名,后者則往往是對應(yīng)的軟件名。但這并非絕對,取決于所使用的具體 Docker Registry 的軟件或服務(wù)。

Docker Registry 公開服務(wù)

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

最常使用的 Registry 公開服務(wù)是官方的 Docker Hub,這也是默認的 Registry,并擁有大量的高質(zhì)量的官方鏡像。除此以外,還有 CoreOS 的 Quay.io,CoreOS 相關(guān)的鏡像存儲在這里;Google 的 Google Container Registry,Kubernetes 的鏡像使用的就是這個服務(wù)。

由于某些原因,在國內(nèi)訪問這些服務(wù)可能會比較慢。國內(nèi)的一些云服務(wù)商提供了針對 Docker Hub 的鏡像服務(wù)(Registry Mirror),這些鏡像服務(wù)被稱為加速器。常見的有 阿里云加速器、DaoCloud 加速器 等。使用加速器會直接從國內(nèi)的地址下載 Docker Hub 的鏡像,比直接從 Docker Hub 下載速度會提高很多。在 安裝 Docker 一節(jié)中有詳細的配置方法。

國內(nèi)也有一些云服務(wù)商提供類似于 Docker Hub 的公開服務(wù)。比如 網(wǎng)易云鏡像服務(wù)、DaoCloud 鏡像市場、阿里云鏡像庫 等。

Docker Hub:https://hub.docker.com/ 
Quay.io:https://quay.io/repository/ 
Google Container Registry:https://cloud.google.com/container-registry/
阿里云加速器:https://cr.console.aliyun.com/#/accelerator
DaoCloud 加速器:https://www.daocloud.io/mirror#accelerator-doc

Docker Registry 私有服務(wù)

除了使用公開服務(wù)外,用戶還可以在本地搭建私有 Docker Registry。Docker 官方提供了 Docker Registry 鏡像,可以直接使用做為私有 Registry 服務(wù)。

開源的 Docker Registry 鏡像只提供了 Docker Registry API 的服務(wù)端實現(xiàn),足以支持 docker 命令,不影響使用。但不包含圖形界面,以及鏡像維護、用戶管理、訪問控制等高級功能。在官方的商業(yè)化版本 Docker Trusted Registry 中,提供了這些高級功能。

除了官方的 Docker Registry 外,還有第三方軟件實現(xiàn)了 Docker Registry API,甚至提供了用戶界面以及一些高級功能。比如,Harbor 和 Sonatype Nexus。

安裝docker

 

備注:切勿在沒有配置 Docker YUM 源的情況下直接使用 yum 命令安裝 Docker.,因為這種方式安裝的docker 版本較低。

系統(tǒng)要求:最好是CentOS 7版本及以上版本。

卸載舊版本

 

使用以下命令卸載舊版本:

yum remove docker 
  docker-client 
  docker-client-latest 
  docker-common 
  docker-latest 
  docker-latest-logrotate 
  docker-logrotate 
  docker-selinux 
  docker-engine-selinux 
  docker-engine

docker安裝指定版本

 

# 安裝依賴包
[root@docker01 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加軟件yum源信息
[root@docker01 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新 yum 軟件源緩存【可選操作】
[root@docker01 ~]# yum makecache fast
# 查看可安裝的版本信息
[root@docker01 ~]# yum list docker-ce.x86_64 --showduplicates | sort -r 
 * updates: mirrors.aliyun.com
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror
 * extras: mirrors.aliyun.com
docker-ce.x86_64            3:18.09.2-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.1-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.0-3.el7                     docker-ce-stable
docker-ce.x86_64            18.06.3.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.06.2.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.06.1.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.06.0.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.03.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            18.03.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.12.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.12.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.09.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.09.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.06.2.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.06.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.06.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.03.3.ce-1.el7                    docker-ce-stable
docker-ce.x86_64            17.03.2.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.03.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.03.0.ce-1.el7.centos             docker-ce-stable
 * base: mirrors.aliyun.com
Available Packages
# 安裝指定版本的docker服務(wù)
[root@docker01 ~]# yum -y install docker-ce-18.06.3.ce-3.el7
# 版本信息查看
[root@docker01 ~]# docker -v  # 或者 docker version
Docker version 18.06.3-ce, build d7080c1

啟動服務(wù)與加入開機自啟動

 

[root@docker01 ~]# systemctl status docker.service   # 查看當(dāng)前服務(wù)狀態(tài)
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)  # 未加入開機自啟動
   Active: inactive (dead)  # 服務(wù)未啟動
     Docs: https://docs.docker.com
[root@docker01 ~]# 
[root@docker01 ~]# systemctl enable docker.service   # 加入開機自啟動
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@docker01 ~]# 
[root@docker01 ~]# systemctl start docker.service    # 啟動服務(wù)
[root@docker01 ~]# 
[root@docker01 ~]# systemctl status docker.service   # 查看當(dāng)前服務(wù)狀態(tài)
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)  # 已加入開機自啟動
   Active: active (running) since Sun 2020-04-12 23:27:00 CST; 2s ago  # 服務(wù)已啟動
     Docs: https://docs.docker.com
 Main PID: 2502 (dockerd)
    Tasks: 21
   Memory: 46.3M
   CGroup: /system.slice/docker.service
           ├─2502 /usr/bin/dockerd
           └─2509 docker-containerd --config /var/run/docker/containerd/containerd.toml

鏡像加速器

 

國內(nèi)從 Docker Hub 拉取鏡像有時會遇到困難,此時可以配置鏡像加速器。國內(nèi)很多云服務(wù)商都提供了國內(nèi)加速器服務(wù),例如:

網(wǎng)易云加速器 https://hub-mirror.c.163.com
阿里云加速器(需登錄賬號獲取): https://cr.console.aliyun.com/cn-hangzhou/mirrors

國內(nèi)各大云服務(wù)商均提供了 Docker 鏡像加速服務(wù),建議根據(jù)運行 Docker 的云平臺選擇對應(yīng)的鏡像加速服務(wù),具體請參考官方文檔。

在CentOS7系統(tǒng),請在 /etc/docker/daemon.json 中寫入如下內(nèi)容(如果文件不存在請新建該文件)

[root@docker01 ~]# vim /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com"
  ]
}

注意,一定要保證該文件符合 json 規(guī)范,否則 Docker 將不能啟動。

之后重新啟動服務(wù)。

systemctl daemon-reload
systemctl restart docker

檢查加速器是否生效

 

執(zhí)行如下命令,如果從結(jié)果中看到了如下內(nèi)容,說明配置成功。

[root@docker01 ~]# docker info  # 顯示整個系統(tǒng)的信息
………………
Registry Mirrors:
 https://hub-mirror.c.163.com/
Live Restore Enabled: false

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

docker服務(wù)啟動異常處理

 

[root@docker01 tools]# systemctl start docker
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
[root@docker01 tools]# journalctl -xe  # 查詢具體信息
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.service has begun starting up.
Nov 01 17:40:55 docker01 dockerd[2493]: time="2018-11-01T17:40:55.181209947+08:00" level=info msg="libcontainerd: new containerd process, pid: 2501"
Nov 01 17:40:56 docker01 dockerd[2493]: time="2018-11-01T17:40:56.187023899+08:00" level=error msg="[graphdriver] prior storage driver overlay2 failed: driver not supported"
Nov 01 17:40:56 docker01 dockerd[2493]: Error starting daemon: error initializing graphdriver: driver not supported
Nov 01 17:40:56 docker01 systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Nov 01 17:40:56 docker01 systemd[1]: Failed to start Docker Application Container Engine.
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
………………
# 具體信息如下截圖,解決方法如下,之后就可以正常起docker服務(wù)了
[root@docker01 tools]# mv /var/lib/docker /var/lib/docker.old

docker是干什么的?Docker簡介與安裝

推薦閱讀

  • Docker官網(wǎng):https://www.docker.com/
  • Docker中文社區(qū):http://www.docker.org.cn/
  • Docker HUB官方鏡像倉庫:https://hub.docker.com/
  • Docker從入門到實踐:https://yeasy.gitbooks.io/docker_practice/content/

原文地址:http://www.zhangblog.com/2020/04/24/docker01/

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男人躁女人p | 成人性生交小说免费看 | 二区三区视频 | 2021国产麻豆剧传媒剧情动漫 | 91视频a| 日本色吧 | 摄像头东北对白清晰 | 日本高清不卡一区久久精品 | 亚洲国产精品久久无套麻豆 | 91久久偷偷做嫩草影院电 | 高h文恩好大好爽 | 99在线视频精品费观看视 | 亚洲欧美精品天堂久久综合一区 | 四虎影视色费永久在线观看 | 欧美在线欧美 | 免费视频专区一国产盗摄 | 国产日韩成人 | 久久这里只有精品无码3D | 2019国内自拍大神视频 | 久久精品一区二区三区资源网 | 色狠狠色狠狠综合天天 | 无码国产成人777爽死 | 羞羞视频动漫 | 多人群p全肉小说 | 美女脱了内裤打开腿让人羞羞软件 | 性生大片免费看 | 久久亚洲伊人 | 欧美日韩视频在线成人 | 日韩精品一区二三区中文 | 国产suv精品一区二区四区三区 | 九九精品视频一区二区三区 | 色5月婷婷| 男女污网站 | 天堂在线中文字幕 | 手机看片国产免费久久网 | 青青青视频免费线看 视频 青青青青青国产免费手机看视频 | 国产亚洲精品第一综合linode | 精品国语国产在线对白 | 亚洲欧美日韩中文高清一 | 成人影院观看 | 欧美一级h |