久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Docker操作篇

發布時間:2023/12/8 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker操作篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Docker操作篇

本筆記以個人思維為導向講述docker的操作,以實驗用到什么聊什么為敘述指導,不包含太多關于原理性內容,并且自身為運維,故整篇文章還是偏重于運維角度的,距通用文檔水平相去尚遠,更算不得一篇原理性筆記,只是操作。綜上這篇筆記還是比較合適對容器已經有一定概念的運維同學來一起學習使用。

并且本筆記不包含docker compose與docker swarm的內容,推薦在掌握了docker基礎后使用kubernetes,故此不再過多的涉及docker的編排方面。

本文實驗環境:

? 基于 Centos7.9(通篇以linux為基本講述,mac os及windows不涉及)

? docker版本:docker-ce-20.10.7

? 每節點 2核心2G內存40G磁盤

節點概況:

IP主機名角色
192.168.1.101node01docker測試
192.168.1.102node02docker測試
192.168.1.110harborharbor

修改記錄:

版本修改時間備注
v.002021.6systemctl529_Yu

注:

? 一定請看好每條命令前的主機名,本筆記以主機名區分不同主機操作

一、容器的概念及簡史

容器,顧名思義,即為承載其他“物體”的器具,如生活中的鍋碗瓢盆,他們都是物理世界中真實可觸碰的載具,我們這里提到的容器,是軟件層級的邏輯容器。

關于容器技術的發展,最早被認為是容器的技術,出現在1979年,Unix版本7在開發過程中引入Chroot Jail以及Chroot系統調用。Chroot jail被用于“Change Root”,它被認為是最早的容器化技術之一。(相信應該有不少人在單用戶模式下使用過chroot /sysroot)

后來在21世紀初期出現了眾多的容器相關的技術,比如Linux-Vserver,比如Cgroups LXC等等

而我們今天討論的docker,第一個開源版本出現于2013年,但現今為止,類似docker的這種容器引擎,存在有眾多的發行版本,截止目前,docker仍然是容器引擎的主流

docker公司原本叫做dotCloud,做PaaS項目,然而經營并不好,13年他們開源了docker,竟突然獲得巨大成功,所以公司也就改名叫做docker Inc了,docker公司的CTO Solomon Hykes,是docker的靈魂人物,也正是他提出了現在注明的:“Build Once,Run Anywhere”,一次構建,到處運行。

探討一個問題,我們已經有了相當成熟的Iaas虛擬化架構,為何又需要paas,我個人認為主要還是來源于效率的需求,傳統虛擬化總是無法繞過“客戶機操作系統”,即便是一個經過了精心裁剪的系統,其也無法擺脫一個獨立的客戶機系統內核及基本運行環境等的資源占用,而容器技術一大區別就是其不再需要額外的虛擬化出一套完整的系統,其內核直接共用宿主機系統,只需要封裝一個基本的軟件所需運行環境和項目代碼即可了,這就使其足夠的輕量化,減輕了一些資源的浪費,并且因為一個一個簡潔的鏡像和運行時,docker變得要比傳統軟件部署一定方面上更易于管理,再加上容器一旦配合上一些編排技術,那么其快速的擴縮容能力和通用部署能力也非傳統虛擬化可比。當然了,目前來看,任何技術都并非完美的,虛擬化亦有其自身目前難以被替代的優勢,比如其真正的資源隔離,對物理機的資源集群整合等。而且其實目前大部分的容器集群,真正的利用環境亦是運行在虛擬機之上的,真正具備物理機直接運行容器的企業,還是相對較大型的體量,總體較少,所以容器目前對于中小企業來看,仍然是前瞻意義大于實際意義的。

容器的優勢和劣勢在哪里?簡單來說,容器的主要劣勢還是存在于隔離性上面,優勢就較多了,比如資源消耗小,啟動速度快,跨平臺能力強,擴展快,對微服務支持好,對自動化架構配合好等

二、Docker的實現

1、docker的實現技術

1.1 虛擬結構的不同

常見的傳統虛擬化:

? 以下是一個 2 型虛擬化的基本結構圖:

傳統的虛擬化通常有兩種,1型虛擬化(如xen esxi)或者2型虛擬化(kvm workstation),不論是1型還是2型,都無法離開“Guest OS”,這也就會帶來一定的資源額外消耗,

容器的虛擬化

容器也是一種虛擬化技術,只是它并非是“平臺虛擬化”,而是“操作系統虛擬化”,也就是說,其虛擬的內容已經不再是傳統虛擬化的硬件資源,而是應用運行環境

? 以下是容器的基本結構圖:

可以看到,容器是直接運行在宿主機系統之上的,不再需要一個額外的操作系統來作為應用運行環境,故這種形式,也可以將一個容器看作是一個“進程”

1.2 容器用哪些內核技術實現

既然容器直接跑在宿主機中,那么資源的隔離和限制怎么來實現,到目前,解決方案已經直接集成在了系統內核中

docker通過系統內核中的 namespace實現資源隔離,通過cGroups實現資源限制,那么一個容器需要隔離出哪些基本資源?

namespace資源隔離

資源隔離內容集成于哪個內核版本
Mount(文件系統,掛載點…)2.4.19
Pid (進程ID)2.6.24
IPC (信號量,消息隊列,共享內存…)2.6.19
Net (網絡設備,網絡協議棧,端口…)2.6.29
UTS (主機名,域名…)2.6.19
User(操作進程的用戶及用戶組)3.8

namespace隔離的系統調用參數及基本解釋

mount CLONE_NEWNS 每個容器的文件系統是獨立的

pid CLONE_NEWPID 每個容器內部有獨立的進程樹

IPC CLONE_NEWIPC 每個容器依舊使用linux內核中進程交互的方法,實現進程間通信

Net CLONE_NEWNET 每個容器之間的網絡默認隔離

UTS CLONE_NEWUTS 每個namesapce有自己獨立的主機名或者域名

User CLONE_NEWUSER 每個容器都有獨立的root,獨立的用戶

cGroups

cgroups(Control Groups) 是 linux內核提供的一種機制,這種機制可以根據需求把一系列系統任務及其子任務整合(或分隔)到按資源劃分等級的不同組內,從而為系統資源管理提供一個統一的框架。簡單說,cgroups可以限制、記錄任務組所使用的物理資源。本質上來說,cgroups 是內核附加在程序上的一系列鉤子(hook),通過程序運行時對資源的調度觸發相應的鉤子以達到資源追蹤和限制的目的。

實現 cgroups 的主要目的是為不同用戶層面的資源管理提供一個統一化的接口。從單個任務的資源控制到操作系統層面的虛擬化,cgroups 提供了四大功能:
資源限制:cgroups 可以對任務是要的資源總額進行限制,比如設定任務運行時使用的內存上限,一旦超出就發OOM。
優先級分配:通過分配的 CPU 時間片數量和磁盤 IO 帶寬,實際上就等同于控制了任務運行的優先級。
資源統計:cgoups 可以統計系統的資源使用量,比如 CPU 使用時長、內存用量等。這個功能非常適合當前云端產品按使用量計費的方式。

? 任務控制:cgroups 可以對任務執行掛起、恢復等操作。

2、Docker的實現語言

docker引擎是基于Google公司的Go語言來編寫實現,Golang號稱21世紀C語言,當前非常熱門,目前來看,Go語言的前景也確實夠好。

Go(又稱Golang)是Google開發的一種靜態強類型、編譯型、并發型,并具有垃圾回收功能的編程語言。

docker部署時,可以直接安裝二進制軟件包,如果想要源碼編譯,也就需要一個Go的編譯環境。

三、安裝Docker

關于系統環境的基本初始化就不再贅述了,仍然是關掉防火墻,Selinux這一套

另外可能唯一和之前不同的是,需要開一下路由轉發

# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf # sysctl -p

我們安裝的docker,是docker-ce(社區版),企業版是docker-ee

1、配置Yum源

因為這里使用的是Centos(Rpm包管理),故需要配置的是yum源

首先配置基礎源,可以是系統默認的,也可以自己手動新增國內源,然后配置docker源

# 配置清華源 [root@node01 yum.repos.d]# pwd /etc/yum.repos.d # 注意,國內源中缺少一些包,不要刪除掉系統自帶的repo文件,只新增即可 [root@node01 yum.repos.d]# vim tuna.os.repo [tuna_centos] name=tuna.centos.os.yum baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/ enabled=1 gpgcheck=0# epel源 [root@node01 yum.repos.d]# vim tuna.epel.repo [tuna.epel] name=tuna.epel baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/ enabled=1 gpgcheck=0# 配置docker源 [root@node01 yum.repos.d]# vim tuna.docker.repo [docker-ce-stable] name=Docker CE Stable - $basearch baseurl=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/$releasever/$basearch/stable enabled=1 gpgcheck=1 gpgkey=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/gpg 或者 [root@node01 yum.repos.d]# wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo [root@node01 yum.repos.d]# sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo# 緩存 [root@node01 yum.repos.d]# yum clean all [root@node01 yum.repos.d]# yum makecache# 查看最新的docekr版本 [root@node01 yum.repos.d]# yum list docker-ce 已加載插件:fastestmirror Loading mirror speeds from cached hostfile 可安裝的軟件包 docker-ce.x86_64 3:20.10.7-3.el7 docker-ce-stable

列出源中所有軟件包版本可以執行

[root@node01 yum.repos.d]# yum list docker-ce --show-duplicates

2、更新系統軟件包

也可以只更新kernel相關包

[root@node01 yum.repos.d]# yum update

3、安裝docker

[root@node01 ~]# yum -y install docker-ce[root@node01 ~]# docker -v Docker version 20.10.7, build f0df350

4、配置并啟動docker

# 啟動并設置開機自啟 [root@node01 ~]# systemctl start docker [root@node01 ~]# systemctl enable docker # 配置docker [root@node01 ~]# vim /etc/docker/daemon.json {"data-root": "/docker","bip": "172.1.1.1/16","storage-driver": "overlay2" }[root@node01 ~]# systemctl daemon-reload

daemon.json配置項簡析:

首先需要一個 {},然后每行配置的間隔需要使用 , 號,最后一行可以不加 ,號

“exec-root”:“/docker” exec-root配置的是docker工作目錄

“registry-mirrors”: [“https://xxxxxxxxxxxxxx.mirror.aliyuncs.com”] registry-mirrors是配置的鏡像加速,如果有多個,可以[“1”,‘’2“]繼續寫

“insecure-registries”: [“域名/IP:port”] insecure-registries配置的是私有非ssl鏡像倉庫地址,如果有多個,可以[“1”,“2”]繼續寫

“storage-driver”: “overlay2” storage-driver存儲驅動程序

\“bip”: “172.1.1.1/16” bip docker網絡

“live-restore”: true live-restore傳遞一個SIGHUP信號給daemon進程來重載配置

docker-daemon.json各配置詳解 {“api-cors-header”:"", ——————在引擎API中設置CORS標頭“authorization-plugins”:[], ——————要加載的授權插件“bridge”:"", ————將容器附加到網橋“cgroup-parent”:"", ——————為所有容器設置父cgroup“cluster-store”:"", ——————分布式存儲后端的URL“cluster-store-opts”:{}, ————————設置集群存儲選項(默認map [])“cluster-advertise”:"", ————————要通告的地址或接口名稱“debug”: true, ————————啟用調試模式,啟用后,可以看到很多的啟動信息。默認false“default-gateway”:"", ——————容器默認網關IPv4地址“default-gateway-v6”:"", ——————容器默認網關IPv6地址“default-runtime”:“runc”, ————————容器的默認OCI運行時(默認為“ runc”)“default-ulimits”:{}, ——————容器的默認ulimit(默認[])“dns”: [“192.168.1.1”], ——————設定容器DNS的地址,在容器的 /etc/resolv.conf文件中可查看?!癲ns-opts”: [], ————————容器 /etc/resolv.conf 文件,其他設置“dns-search”: [], ————————設定容器的搜索域,當設定搜索域為 .example.com 時,在搜索一個名為 host 的 主機時,DNS不僅搜索host,還會搜索host.example.com 。 注意:如果不設置, Docker 會默認用主機上的 /etc/resolv.conf 來配置容器。“exec-opts”: [], ————————運行時執行選項“exec-root”:"", ————————執行狀態文件的根目錄(默認為’/var/run/docker‘)“fixed-cidr”:"", ————————固定IP的IPv4子網“fixed-cidr-v6”:"", ————————固定IP的IPv6子網“data-root”:"/var/lib/docker", ————-Docker運行時使用的根路徑,默認/var/lib/docker“group”: “”, ——————UNIX套接字的組(默認為“docker”)“hosts”: [], ——————設置容器hosts“icc”: false, ——————啟用容器間通信(默認為true)“ip”:“0.0.0.0”, ————————綁定容器端口時的默認IP(默認0.0.0.0)“iptables”: false, ———————啟用iptables規則添加(默認為true)“ipv6”: false, ——————啟用IPv6網絡“ip-forward”: false, ————————默認true, 啟用 net.ipv4.ip_forward ,進入容器后使用 sysctl -a | grepnet.ipv4.ip_forward 查看“ip-masq”:false, ——————啟用IP偽裝(默認為true)“labels”:[“nodeName=node-121”], ————————docker主機的標簽,很實用的功能,例如定義:–label nodeName=host-121“live-restore”: true, ——————在容器仍在運行時啟用docker的實時還原“log-driver”:"", ——————容器日志的默認驅動程序(默認為“ json-file”)“log-level”:"", ——————設置日志記錄級別(“調試”,“信息”,“警告”,“錯誤”,“致命”)(默認為“信息”)“max-concurrent-downloads”:3, ——————設置每個請求的最大并發下載量(默認為3)“max-concurrent-uploads”:5, ——————設置每次推送的最大同時上傳數(默認為5)“mtu”: 0, ——————設置容器網絡MTU“oom-score-adjust”:-500, ——————設置守護程序的oom_score_adj(默認值為-500)“pidfile”: “”, ——————Docker守護進程的PID文件“raw-logs”: false, ——————全時間戳機制“selinux-enabled”: false, ——————默認 false,啟用selinux支持“storage-driver”:"", ——————要使用的存儲驅動程序“swarm-default-advertise-addr”:"", ——————設置默認地址或群集廣告地址的接口“tls”: true, ————————默認 false, 啟動TLS認證開關“tlscacert”: “”, ——————默認 ~/.docker/ca.pem,通過CA認證過的的certificate文件路徑“tlscert”: “”, ————————默認 ~/.docker/cert.pem ,TLS的certificate文件路徑“tlskey”: “”, ————————默認~/.docker/key.pem,TLS的key文件路徑“tlsverify”: true, ————————默認false,使用TLS并做后臺進程與客戶端通訊的驗證“userland-proxy”:false, ——————使用userland代理進行環回流量(默認為true)“userns-remap”:"", ————————用戶名稱空間的用戶/組設置“bip”:“192.168.88.0/22”, ——————————指定網橋IP“registry-mirrors”: [“https://192.498.89.232:89”], ————————設置鏡像加速“insecure-registries”: [“120.123.122.123:12312”], ———————設置私有倉庫地址可以設為http“storage-opts”: [“overlay2.override_kernel_check=true”,“overlay2.size=15G”], ————————存儲驅動程序選項“log-opts”: {“max-file”: “3”,“max-size”: “10m”,}, ————————容器默認日志驅動程序選項“iptables”: false ————————啟用iptables規則添加(默認為true) }

5、docker基本信息查看

# 執行docker info 可以查看基本的docker信息 [root@node01 docker]# docker info Client:Context: defaultDebug Mode: falsePlugins:app: Docker App (Docker Inc., v0.9.1-beta3)buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)scan: Docker Scan (Docker Inc., v0.8.0)Server:Containers: 0Running: 0Paused: 0Stopped: 0Images: 0Server Version: 20.10.7 Storage Driver: overlay2 Backing Filesystem: xfsSupports d_type: trueNative Overlay Diff: trueuserxattr: falseLogging Driver: json-fileCgroup Driver: cgroupfsCgroup Version: 1Plugins:Volume: localNetwork: bridge host ipvlan macvlan null overlayLog: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslogSwarm: inactiveRuntimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runcDefault Runtime: runcInit Binary: docker-initcontainerd version: d71fcd7d8303cbf684402823e425e9dd2e99285drunc version: b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7init version: de40ad0Security Options:seccompProfile: defaultKernel Version: 3.10.0-1160.11.1.el7.x86_64Operating System: CentOS Linux 7 (Core)OSType: linuxArchitecture: x86_64CPUs: 2Total Memory: 1.933GiBName: node01ID: WIDC:DX4D:7IW7:H5OR:EK4Y:F4YX:ABUI:IKE7:DVIN:K5W3:KE76:6YAODocker Root Dir: /dockerDebug Mode: falseRegistry: https://index.docker.io/v1/Labels:Experimental: falseInsecure Registries:127.0.0.0/8Registry Mirrors:https://xxxxxx.mirror.aliyuncs.com/Live Restore Enabled: false

如果執行 docker info時,發現了以下兩條警告

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

這意味著你的防火墻沒有關閉,如果不想關,就增加下配置,以要求iptables不對bridge的數據進行處理

# vim /etc/sysctl.conf # 追加 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1# sysctl -p net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1

6、docker鏡像加速

提前做一下docker鏡像加速的配置,因為后面運行docker需要先拉取docker鏡像,但是docker hub是在國外的,對我們而言,很慢,所以先配置下加速

這里以阿里云鏡像加速為例,首先記得注冊好阿里云賬號

配置下加速地址

[root@node01 ~]# vim /etc/docker/daemon.json {### 追加以下一行"registry-mirrors": ["https://xxxxxxxxxxxx.mirror.aliyuncs.com"] }[root@node01 ~]# systemctl daemon-reload [root@node01 ~]# systemctl restart docker

四、Docker的使用

docker對鏡像或者容器的操作,使用ID或者名稱均可

1、docker 鏡像

docker鏡像,就是打包好的應用以及應用環境(代碼,運行時,庫,環境變量,配置文件等)

1.1 查看本地鏡像

# docker images 查看鏡像列表 [root@node01 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE

1.2 搜索鏡像

搜索鏡像可以在命令行搜索,也可以去比如docker hub等鏡像倉庫搜索

[root@node01 ~]# docker search centos NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 6594 [OK] ansible/centos7-ansible Ansible on Centos7 134 [OK] consol/centos-xfce-vnc Centos container with "headless" VNC session… 129 [OK] jdeathe/centos-ssh OpenSSH / Supervisor / EPEL/IUS/SCL Repos - … 118 [OK] ......

docker 官方鏡像倉庫:https://registry.hub.docker.com/

1.3 拉取鏡像

拉取鏡像時,如果不指定版本,那么拉取的就是 latest 最新版本,指定版本 # docker pull centos:TAG

[root@node01 ~]# docker pull centos Using default tag: latest latest: Pulling from library/centos 7a0437f04f83: Downloading 39.37MB/75.18MB[root@node01 ~]# docker pull centos:7.9.2009 7.9.2009: Pulling from library/centos 2d473b07cdd5: Downloading 22.57MB/76.1MB# 查看下本地鏡像 [root@node01 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 300e315adb2f 6 months ago 209MB centos 7.9.2009 8652b9f0cb4c 7 months ago 204MB

1.4 刪除鏡像

[root@node01 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 300e315adb2f 6 months ago 209MB centos 7.9.2009 8652b9f0cb4c 7 months ago 204MB[root@node01 ~]# docker rmi centos:latest Untagged: centos:latest Untagged: centos@sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1 Deleted: sha256:300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55 Deleted: sha256:2653d992f4ef2bfd27f94db643815aa567240c37732cae1405ad1c1309ee9859[root@node01 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos 7.9.2009 8652b9f0cb4c 7 months ago 204MB

1.5 導入導出鏡像

# 導出 [root@node01 ~]# docker save centos:7.9.2009 -o /tmp/centos.7.9.2009 [root@node01 ~]# du -sh /tmp/centos.7.9.2009 202M /tmp/centos.7.9.2009# 導入 先刪除本地的centos:7.9.2009鏡像 [root@node01 ~]# docker rmi centos:7.9.2009 Untagged: centos:7.9.2009 Untagged: centos@sha256:0f4ec88e21daf75124b8a9e5ca03c37a5e937e0e108a255d890492430789b60e Deleted: sha256:8652b9f0cb4c0599575e5a003f5906876e10c1ceb2ab9fe1786712dac14a50cf Deleted: sha256:174f5685490326fc0a1c0f5570b8663732189b327007e47ff13d2ca59673db02 [root@node01 ~]# docker load < /tmp/centos.7.9.2009 174f56854903: Loading layer 211.7MB/211.7MB Loaded image: centos:7.9.2009 [root@node01 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos 7.9.2009 8652b9f0cb4c 7 months ago 204MB

如果導入鏡像后,查看時,發現鏡像名為 ,這種可以使用 docker tag 來命名

# docker tag [鏡像ID] 鏡像名:TAG

2、docker容器 (運行時)

也就是在運行的容器,運行起來的鏡像;其與鏡像的區別:鏡像是靜態的定義,容器是鏡像運行時的實體

關于容器生命周期

  • 執行docker run時,檢查本地是否有該名稱的鏡像,如果沒有,從倉庫檢索并拉取
  • 使用本地鏡像啟動容器
  • 分配一個文件系統,并在只讀的鏡像層上掛載一個可寫層(容器層)
  • 從宿主機配置的網橋接口中橋接一個虛擬接口到容器
  • 從地址池中分配IP給容器
  • 執行CMD指令
  • 執行完畢后容器生命結束,容器停止

2.1 運行容器

docker run [選項 參數] 鏡像 CMD

# 當本地沒有你要運行的鏡像時,會自動拉取

[root@node01 ~]# docker pull centos:latest[root@node01 ~]# docker run centos

2.2 查看運行的容器

# 查看運行中的容器 [root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 剛運行的容器并沒有存在,這是因為我們運行時沒有指定CMD運行內容,有些鏡像比如這種系統鏡像,是需要手動指定運行內容的# 查看所有的容器(包含未運行的) [root@node01 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 36a3d9354ba4 centos "/bin/bash" 37 seconds ago Exited (0) 36 seconds ago confident_visvesvaraya

2.3 運行時添加選項

常用選項

-d: 后臺運行容器,并返回容器ID;

-i: 以交互模式運行容器,通常與 -t 同時使用;

-P: 隨機端口映射,容器內部端口隨機映射到主機的端口

-p: 指定端口映射,格式為:主機(宿主)端口:容器端口

-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;

–name=“容器名”: 為容器指定一個名稱;

**-m **:設置容器使用內存最大值;

–net=“bridge”: 指定容器的網絡連接類型,支持 bridge/host/none/container: 四種類型;

–expose=[]: 開放一個端口或一組端口;

–volume , -v: 綁定一個卷

-e: 傳遞環境變量 環境變量key:環境變量value

# 運行bash程序 [root@node01 ~]# docker run -itd centos:latest /bin/bash 3b1157fa7e1b34b1c288de81da35cd8e310ff14ec4ea8d16d64cb4d60da96c09[root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3b1157fa7e1b centos:latest "/bin/bash" 2 seconds ago Up 1 second sharp_shaw

2.4 查看容器運行輸出(日志)

[root@node01 ~]# docker run -itd --name="centos_v1" centos:latest /bin/bash -c "while true;do echo hello docker;sleep 10;done" efcd72ea15a7e1ca8c17245d0ed41c7e331d646a488e3c8ef5a3d8fd7490dc3c[root@node01 ~]# docker logs centos_v1 hello docker hello docker

2.5 操作容器

[root@node01 ~]# docker exec -it centos_v1 /bin/bash [root@efcd72ea15a7 /]# psPID TTY TIME CMD22 pts/1 00:00:00 bash36 pts/1 00:00:00 ps# 退出時執行 exit [root@efcd72ea15a7 /]# exit exit

2.6 查看容器相關信息

[root@node01 ~]# docker inspect centos_v1 [{"Id": "efcd72ea15a7e1ca8c17245d0ed41c7e331d646a488e3c8ef5a3d8fd7490dc3c","Created": "2021-06-13T09:51:13.330140921Z","Path": "/bin/bash","Args": ["-c","while true;do echo hello docker;sleep 10;done"],"State": {"Status": "running","Running": true,"Paused": false,"Restarting": false,"OOMKilled": false,"Dead": false,"Pid": 26148,"ExitCode": 0,"Error": "","StartedAt": "2021-06-13T09:51:14.040711318Z","FinishedAt": "0001-01-01T00:00:00Z"},"Image": "sha256:300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55","ResolvConfPath": "/docker/containers/efcd72ea15a7e1ca8c17245d0ed41c7e331d646a488e3c8ef5a3d8fd7490dc3c/resolv.conf","HostnamePath": "/docker/containers/efcd72ea15a7e1ca8c17245d0ed41c7e331d646a488e3c8ef5a3d8fd7490dc3c/hostname","HostsPath": "/docker/containers/efcd72ea15a7e1ca8c17245d0ed41c7e331d646a488e3c8ef5a3d8fd7490dc3c/hosts","LogPath": "/docker/containers/efcd72ea15a7e1ca8c17245d0ed41c7e331d646a488e3c8ef5a3d8fd7490dc3c/efcd72ea15a7e1ca8c17245d0ed41c7e331d646a488e3c8ef5a3d8fd7490dc3c-json.log","Name": "/centos_v1","RestartCount": 0,"Driver": "overlay2","Platform": "linux","MountLabel": "","ProcessLabel": "","AppArmorProfile": "","ExecIDs": null,"HostConfig": {"Binds": null,"ContainerIDFile": "","LogConfig": {"Type": "json-file","Config": {}},"NetworkMode": "default","PortBindings": {},"RestartPolicy": {"Name": "no","MaximumRetryCount": 0},"AutoRemove": false,"VolumeDriver": "","VolumesFrom": null,"CapAdd": null,"CapDrop": null,"CgroupnsMode": "host","Dns": [],"DnsOptions": [],"DnsSearch": [],"ExtraHosts": null,"GroupAdd": null,"IpcMode": "private","Cgroup": "","Links": null,"OomScoreAdj": 0,"PidMode": "","Privileged": false,"PublishAllPorts": false,"ReadonlyRootfs": false,"SecurityOpt": null,"UTSMode": "","UsernsMode": "","ShmSize": 67108864,"Runtime": "runc","ConsoleSize": [0,0],"Isolation": "","CpuShares": 0,"Memory": 0,"NanoCpus": 0,"CgroupParent": "","BlkioWeight": 0,"BlkioWeightDevice": [],"BlkioDeviceReadBps": null,"BlkioDeviceWriteBps": null,"BlkioDeviceReadIOps": null,"BlkioDeviceWriteIOps": null,"CpuPeriod": 0,"CpuQuota": 0,"CpuRealtimePeriod": 0,"CpuRealtimeRuntime": 0,"CpusetCpus": "","CpusetMems": "","Devices": [],"DeviceCgroupRules": null,"DeviceRequests": null,"KernelMemory": 0,"KernelMemoryTCP": 0,"MemoryReservation": 0,"MemorySwap": 0,"MemorySwappiness": null,"OomKillDisable": false,"PidsLimit": null,"Ulimits": null,"CpuCount": 0,"CpuPercent": 0,"IOMaximumIOps": 0,"IOMaximumBandwidth": 0,"MaskedPaths": ["/proc/asound","/proc/acpi","/proc/kcore","/proc/keys","/proc/latency_stats","/proc/timer_list","/proc/timer_stats","/proc/sched_debug","/proc/scsi","/sys/firmware"],"ReadonlyPaths": ["/proc/bus","/proc/fs","/proc/irq","/proc/sys","/proc/sysrq-trigger"]},"GraphDriver": {"Data": {"LowerDir": "/docker/overlay2/119adbf51607bfc6fdfc8f30081b9263dc961d09400f1695527eb6b728b2209b-init/diff:/docker/overlay2/2386f591a659192e7d79caae80c3eb520db3d1120fbcd7970d9d6eb8fab10507/diff","MergedDir": "/docker/overlay2/119adbf51607bfc6fdfc8f30081b9263dc961d09400f1695527eb6b728b2209b/merged","UpperDir": "/docker/overlay2/119adbf51607bfc6fdfc8f30081b9263dc961d09400f1695527eb6b728b2209b/diff","WorkDir": "/docker/overlay2/119adbf51607bfc6fdfc8f30081b9263dc961d09400f1695527eb6b728b2209b/work"},"Name": "overlay2"},"Mounts": [],"Config": {"Hostname": "efcd72ea15a7","Domainname": "","User": "","AttachStdin": false,"AttachStdout": false,"AttachStderr": false,"Tty": true,"OpenStdin": true,"StdinOnce": false,"Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Cmd": ["/bin/bash","-c","while true;do echo hello docker;sleep 10;done"],"Image": "centos:latest","Volumes": null,"WorkingDir": "","Entrypoint": null,"OnBuild": null,"Labels": {"org.label-schema.build-date": "20201204","org.label-schema.license": "GPLv2","org.label-schema.name": "CentOS Base Image","org.label-schema.schema-version": "1.0","org.label-schema.vendor": "CentOS"}},"NetworkSettings": {"Bridge": "","SandboxID": "0f3c7ccaebc706fb06f611ce07ce5c9a68c9ace1784a03af672f28bd3cc611d1","HairpinMode": false,"LinkLocalIPv6Address": "","LinkLocalIPv6PrefixLen": 0,"Ports": {},"SandboxKey": "/var/run/docker/netns/0f3c7ccaebc7","SecondaryIPAddresses": null,"SecondaryIPv6Addresses": null,"EndpointID": "ee962448e879bc5b001e3d77c04d0fa05c94aa6c9120e8e42b0705fab44c898f","Gateway": "172.1.1.1","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"IPAddress": "172.1.0.2","IPPrefixLen": 16,"IPv6Gateway": "","MacAddress": "02:42:ac:01:00:02","Networks": {"bridge": {"IPAMConfig": null,"Links": null,"Aliases": null,"NetworkID": "659b6c5dab2c8a0fd5058534fc195828865fc12d6e0388d47bf2a12118890998","EndpointID": "ee962448e879bc5b001e3d77c04d0fa05c94aa6c9120e8e42b0705fab44c898f","Gateway": "172.1.1.1","IPAddress": "172.1.0.2","IPPrefixLen": 16,"IPv6Gateway": "","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"MacAddress": "02:42:ac:01:00:02","DriverOpts": null}}}} ]

2.7 提交容器為新鏡像

假設我們運行了一個容器,并完成了修改,想要將其保存為一個鏡像,在沒有聊到dockerfile前,可以使用commit來實現

[root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES efcd72ea15a7 centos:latest "/bin/bash -c 'while…" 6 minutes ago Up 6 minutes centos_v1 3b1157fa7e1b centos:latest "/bin/bash" 10 minutes ago Up 10 minutes sharp_shaw[root@node01 ~]# docker commit efcd72ea15a7 centos_while:v1 sha256:d11182ec9f08c11e57151f5005e6200432faf9da5563114fd9a6b7c7c0859af8[root@node01 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos_while v1 d11182ec9f08 5 seconds ago 209MB

2.8 停止容器

[root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES efcd72ea15a7 centos:latest "/bin/bash -c 'while…" 9 minutes ago Up 9 minutes centos_v1 3b1157fa7e1b centos:latest "/bin/bash" 13 minutes ago Up 13 minutes sharp_shaw[root@node01 ~]# docker stop efcd72ea15a7 efcd72ea15a7[root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3b1157fa7e1b centos:latest "/bin/bash" 13 minutes ago Up 13 minutes sharp_shaw

2.9 啟動容器

[root@node01 ~]# docker start efcd72ea15a7 efcd72ea15a7[root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES efcd72ea15a7 centos:latest "/bin/bash -c 'while…" 10 minutes ago Up 22 seconds centos_v1 3b1157fa7e1b centos:latest "/bin/bash" 14 minutes ago Up 14 minutes sharp_shaw

2.10 刪除容器

先停后刪

[root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES efcd72ea15a7 centos:latest "/bin/bash -c 'while…" 10 minutes ago Up 22 seconds centos_v1 3b1157fa7e1b centos:latest "/bin/bash" 14 minutes ago Up 14 minutes sharp_shaw[root@node01 ~]# docker stop efcd efcd[root@node01 ~]# docker rm efcd efcd[root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3b1157fa7e1b centos:latest "/bin/bash" 15 minutes ago Up 15 minutes sharp_shaw

2.11 更新運行參數

如果容器已經運行起來,不便于重新運行一個新容器的情況下更新參數,可以使用docker update,但不是每一個參數都可以更新

# 查看下哪些參數可以被更新 [root@node01 ~]# docker update --helpUsage: docker update [OPTIONS] CONTAINER [CONTAINER...]Update configuration of one or more containersOptions:--blkio-weight uint16 Block IO (relative weight), between 10 and 1000,or 0 to disable (default 0)--cpu-period int Limit CPU CFS (Completely Fair Scheduler) period--cpu-quota int Limit CPU CFS (Completely Fair Scheduler) quota--cpu-rt-period int Limit the CPU real-time period in microseconds--cpu-rt-runtime int Limit the CPU real-time runtime in microseconds-c, --cpu-shares int CPU shares (relative weight)--cpus decimal Number of CPUs--cpuset-cpus string CPUs in which to allow execution (0-3, 0,1)--cpuset-mems string MEMs in which to allow execution (0-3, 0,1)--kernel-memory bytes Kernel memory limit-m, --memory bytes Memory limit--memory-reservation bytes Memory soft limit--memory-swap bytes Swap limit equal to memory plus swap: '-1' toenable unlimited swap--pids-limit int Tune container pids limit (set -1 for unlimited)--restart string Restart policy to apply when a container exits# 簡單的解釋 --blkio-weight 阻塞IO (相對權重),介于10到1000之間,0表示禁用(默認禁止) --cpu-period 限制CPU CFS(完全公平的調度程序)期限 --cpu-quota 限制CPU CFS(完全公平的調度程序)配額 --cpu-rt-period API 1.25+,將CPU實時時間限制為微秒 --cpu-rt-runtime API 1.25+,將CPU實時運行時間限制為微秒 --cpu-shares, -c CPU份額(相對權重) --cpus API 1.29+,CPU數量 --cpuset-cpus 允許執行的CPU(0-3,0,1) --cpuset-mem 允許執行的MEM(0-3,0,1) --kernel-memory 內核內存限制 --memory-swap 交換限制等于內存加交換,“-1”以啟用無限交換 --memory-reservatio 內存軟限制 --memory, -m 內存限制 --pids-limit API 1.40+,調節容器pids限制(-1表示無限制) --restart 容器退出時重新啟動策略以應用 # 更新下容器使其內存最高為 256M [root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3b1157fa7e1b centos:latest "/bin/bash" 2 hours ago Up 2 hours sharp_shaw[root@node01 ~]# docker update -m 256M --memory-swap -1 3b11 # --momory-swap -1是因為docker 默認沒有啟用memory-swap交換內存,直接設置了內存問題會出問題,也就是說宿主 swap 支持使用多少則容器即可使用多少,將memory-swap 設置值為 -1,表示容器程序使用內存受限,而 swap 空間使用不受限制[root@node01 ~]# docker inspect 3b11|grep -Ei "\"memory\"""Memory": 268435456, # 已經生效

3、docker 鏡像倉庫

存放鏡像文件的倉庫,我們這里不演示公共倉庫,如果想要使用公共倉庫,直接打開公共倉庫的頁面,都會有配置提示,我們本文只演示本地倉庫

docker使用Registry(注冊中心)來保存鏡像,常見的registry有公有私有兩種,私有最常見的封裝方案是 harbor

綜上,這里先顯示 harbor鏡像倉庫的搭建(作為私有倉庫),然后再來演示倉庫的登入登出等

harbor倉庫直接運行于docker中,采用docker-compose部署,故部署也是極為簡單

harbor的組件:

1、Proxy:反向代理工具

2、Registry:負責存儲docker鏡像,處理上傳/下載命令。對用戶進行訪問控制,它指向一個token服務,強制用戶的每次docker pull/push請求都要攜帶一個合法的token,registry會通過公鑰對token進行解密驗證。

3、Core service:Harbor的核心功能:

  • UI:圖形界面
  • Webhook:及時獲取registry上image狀態變化情況,在registry上配置 webhook,把狀態變化傳遞給UI模塊。
  • Token服務:復雜根據用戶權限給每個docker push/p/ull命令簽發token。Docker客戶端向registry服務發起的請求,如果不包含token,會被重定向到這里,獲得token后再重新向registry進行請求。

4、Database:提供數據庫服務,存儲用戶權限,審計日志,docker image分組信息等數據

5、Log collector:為了幫助監控harbor運行,復責收集其他組件的log,供日后進行分析

3.1 下載Harbor

harbor主機采用 192.168.1.110來安裝,關于基礎環境初始化及yum源此處不再演示,參照上文即可

瀏覽器訪問:https://github.com/goharbor/harbor/releases 進行下載

# 創建一些目錄,用于后續使用 [root@harbor ~]# mkdir /data/app -p [root@harbor ~]# mkdir /data/docker [root@harbor ~]# mkdir /data/harbor# 安裝一下docker [root@harbor ~]# yum -y install docker-ce# 配置docker [root@harbor ~]# mkdir /etc/docker [root@harbor ~]# vim /etc/docker/daemon.json {"data-root": "/data/docker","bip": "172.1.1.1/16","storage-driver": "overlay2","registry-mirrors": ["https://xxxxxxxxxxxxxxxx.mirror.aliyuncs.com"] }[root@harbor ~]# systemctl start docker [root@harbor ~]# systemctl enable docker# 下載harbor [root@harbor /]# cd /data/app/ [root@harbor app]# wget https://github.com/goharbor/harbor/releases/download/v2.2.2/harbor-offline-installer-v2.2.2.tgz

3.2 安裝docker-compose

harbor使用docker-compose部署,關于docker-compose的使用,后面再聊,現在先來安裝下(可以直接下載,也可以使用 # pip install docker-compose -i http://mirrors.aliyun.com/pypi/simple/
–trusted-host mirrors.aliyun.com)

docker-compose下載地址:https://github.com/docker/compose/releases/

# 下載 [root@node01 app]# wget https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64# 給予執行權限 [root@harbor app]# cp docker-compose-Linux-x86_64 /usr/bin/docker-compose [root@harbor app]# chmod 744 /usr/bin/docker-compose

3.3 安裝harbor

[root@harbor app]# tar xf harbor-offline-installer-v2.2.2.tgz [root@harbor app]# cd harbor harbor/ harbor-offline-installer-v2.2.2.tgz [root@harbor app]# cd harbor [root@harbor harbor]# ls common.sh harbor.v2.2.2.tar.gz harbor.yml.tmpl install.sh LICENSE prepare # 修改配置文件 [root@harbor harbor]# cp -a harbor.yml.tmpl harbor.yml [root@harbor harbor]# vim harbor.yml hostname: harbor.local.top # 本地IP或者域名,這里使用域名,但我們沒有DNS,故此等下做下hosts解析 harbor_admin_password: 123456 # harbor管理員密碼 database:password: 123456 # 數據庫密碼 data_volume: /data/harbor # 存儲目錄 # 注釋掉https # https related config #https: # # https port for harbor, default is 443 # port: 443 # # The path of cert and key files for nginx # certificate: /your/certificate/path # private_key: /your/private/key/path # 做一下hosts解析,所有節點都要做,包括node1 node2 [root@harbor harbor]# echo "192.168.1.101 node01" >> /etc/hosts [root@harbor harbor]# echo "192.168.1.102 node02" >> /etc/hosts [root@harbor harbor]# echo "192.168.1.110 harbor" >> /etc/hosts [root@harbor harbor]# echo "192.168.1.110 harbor.local.top" >> /etc/hosts# 安裝 [root@harbor harbor]# ./install.sh [Step 0]: checking if docker is installed ... Note: docker version: 20.10.7 # 成功讀取docker版本 [Step 1]: checking docker-compose is installed ... Note: docker-compose version: 1.29.2 # 成功讀取docker-compose版本 ...... [Step 5]: starting Harbor ... Creating network "harbor_harbor" with the default driver Creating harbor-log ... done Creating registry ... done Creating harbor-portal ... done Creating harbor-db ... done Creating registryctl ... done Creating redis ... done Creating harbor-core ... done Creating nginx ... done Creating harbor-jobservice ... done ? ----Harbor has been installed and started successfully.----# 查看啟動了哪些容器 [root@harbor harbor]# docker-compose ps # 注意docker-compose命令,只能于docker-compose項目目錄下執行Name Command State Ports ------------------------------------------------------------------------------------------- harbor-core /harbor/entrypoint.sh Up (healthy) harbor-db /docker-entrypoint.sh Up (healthy) harbor-jobservice /harbor/entrypoint.sh Up (healthy) harbor-log /bin/sh -c /usr/local/bin/ Up (healthy) 127.0.0.1:1514->10514/tcp... harbor-portal nginx -g daemon off; Up (healthy) nginx nginx -g daemon off; Up (healthy) 0.0.0.0:80->8080/tcp,:::80->8080/tcp redis redis-server Up (healthy)/etc/redis.conf registry /home/harbor/entrypoint.sh Up (healthy) registryctl /home/harbor/start.sh Up (healthy)[root@harbor harbor]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES be460fb4cb9b goharbor/harbor-jobservice:v2.2.2 "/harbor/entrypoint.…" About a minute ago Up About a minute (healthy) harbor-jobservice 9de4a1ca6be0 goharbor/nginx-photon:v2.2.2 "nginx -g 'daemon of…" About a minute ago Up About a minute (healthy) 0.0.0.0:80->8080/tcp, :::80->8080/tcp nginx 91ce9201ea03 goharbor/harbor-core:v2.2.2 "/harbor/entrypoint.…" 2 minutes ago Up About a minute (healthy) harbor-core abe2e68cee15 goharbor/redis-photon:v2.2.2 "redis-server /etc/r…" 2 minutes ago Up 2 minutes (healthy) redis 96fdb49b29d9 goharbor/harbor-registryctl:v2.2.2 "/home/harbor/start.…" 2 minutes ago Up About a minute (healthy) registryctl d978e8fc6d75 goharbor/harbor-portal:v2.2.2 "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes (healthy) harbor-portal 55c2bbadcc3e goharbor/registry-photon:v2.2.2 "/home/harbor/entryp…" 2 minutes ago Up 2 minutes (healthy) registry 0bb8c40cea5c goharbor/harbor-db:v2.2.2 "/docker-entrypoint.…" 2 minutes ago Up 2 minutes (healthy) harbor-db fd34d2af91e8 goharbor/harbor-log:v2.2.2 "/bin/sh -c /usr/loc…" 2 minutes ago Up 2 minutes (healthy) 127.0.0.1:1514->10514/tcp

3.4 harbor基本使用

因為都是圖形化的,所以不多贅述,只說下怎么創建倉庫

harbor的訪問,使用瀏覽器輸入harbor節點的IP:port或者域名即可

創建一個私有倉庫(私有項目)



3.5 登錄私有倉庫并推送鏡像

# node1節點先確認做一下hosts解析 [root@node01 ~]# echo "192.168.1.101 node01" >> /etc/hosts [root@node01 ~]# echo "192.168.1.102 node02" >> /etc/hosts [root@node01 ~]# echo "192.168.1.110 harbor" >> /etc/hosts [root@node01 ~]# echo "192.168.1.110 harbor.local.top" >> /etc/hosts# 登錄私有倉庫 因為我們這里沒有使用https進行通信,所以還需要給docker配置下http不安全通信 [root@node01 ~]# vim /etc/docker/daemon.json {# 追加"insecure-registries": ["harbor.local.top"] }[root@node01 ~]# systemctl daemon-reload [root@node01 ~]# systemctl restart docker# 登錄私有倉庫 [root@node01 ~]# docker login harbor.local.top Username: admin Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See # 這句警告是說你的密碼會不安全的存儲在/root/.docker/config.json中。配置憑據助手可以去掉這個警告 https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded# 推送鏡像到私有倉庫 在推送前,需要先給本地的鏡像打標簽,以符合harbor中的項目路徑 [root@node01 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos_while v1 d11182ec9f08 3 hours ago 209MB ......[root@node01 ~]# docker tag centos_while:v1 harbor.local.top/images/centos_while:v1推送 [root@node01 ~]# docker push harbor.local.top/images/centos_while:v1 The push refers to repository [harbor.local.top/images/centos_while] 6ecc5281cd8d: Pushed 2653d992f4ef: Pushing 85.67MB/209.3MB

3.6 登出倉庫

[root@node01 ~]# docker logout harbor.local.top Removing login credentials for harbor.local.top

4、運行一個應用容器

接下來我們來實際運行一個應用容器

以nginx為例

4.1 規劃好應用容器的配置

運行容器前,除非是不重要的測試環境,否則一定要考慮好該容器的 端口 存儲 等等信息后再運行

如果是官方鏡像,那么這個容器有哪些參數可以被配置,都會寫的很清晰,比如前往dockerhub網站,閱讀容器的文檔

此處,我以nginx容器為例

打開 https://registry.hub.docker.com/_/nginx

如上,可以看到官方會給出很多運行參數的示例

此處規劃的參數如下: -p 8001:80 # -p 映射端口,8001為宿主機端口,80為容器內端口 -v /data/docker/nginx/html:/usr/share/nginx/html # -v 掛載卷,/data/docker/nginx/html是宿主機目錄,/usr/share/nginx/html是容器內目錄,這個掛載用于實現html目錄的掛載 --name 8001 # 設置容器名 -v /data/docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro # -v不僅可以掛載目錄,也可以掛載單個文件,這里就是掛載的配置文件,ro是只讀,默認是rw --restart=always # 重啟策略為任何狀態自動重啟

既然做好了規劃,那么下面就把規劃的內容準備好

# 創建掛載卷的宿主機目錄 [root@node01 ~]# mkdir /data/docker/nginx/html -p # 準備html目錄下的index.html測試文件 [root@node01 ~]# echo "nginx docker test" >> /data/docker/nginx/html/index.html # 準備要被掛載進去的nginx.conf配置文件 [root@node01 ~]# vim /data/docker/nginx/nginx.conf user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events {worker_connections 1024; } http {include /etc/nginx/mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;sendfile on;#tcp_nopush on;keepalive_timeout 65;gzip on;include /etc/nginx/conf.d/*.conf; }

4.2 運行nginx容器

# 拉取鏡像 [root@node01 ~]# docker pull nginx# 運行 [root@node01 ~]# docker run -d --name="nginx_8001" -v /data/docker/nginx/html:/usr/share/nginx/html -v /data/docker/nginx/nginx.conf:/etc/nginx/nginx.conf -p 8001:80 --restart=always nginx:latest c410430dc13d7d27a2ed7b41ee8f40ddedac54a2afe0d753d044d6718836643a# 查看啟動后的狀態 [root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c410430dc13d nginx:latest "/docker-entrypoint.…" 19 seconds ago Up 18 seconds 0.0.0.0:8001->80/tcp, :::8001->80/tcp nginx_8001# 查看宿主機端口 [root@node01 ~]# ss -naltp|grep 8001 LISTEN 0 128 *:8001 *:* users:(("docker-proxy",pid=93384,fd=4)) LISTEN 0 128 [::]:8001 [::]:* users:(("docker-proxy",pid=93389,fd=4))

測試訪問

[root@harbor harbor]# curl node01:8001 nginx docker test

測試自動重啟策略

[root@node01 ~]# systemctl restart docker [root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c410430dc13d nginx:latest "/docker-entrypoint.…" 2 minutes ago Up 1 second 0.0.0.0:8001->80/tcp, :::8001->80/tcp nginx_8001

4.4 容器的數據卷

這里簡單介紹下數據卷的掛載

在上面我們采用-V參數,掛載了數據存儲目錄到容器內,實際上這就是數據卷,數據卷主要解決的是數據持久化到宿主機且宿主機與容器間數據同步

掛載數據卷做持久化在絕大多數時候都是是必要的,畢竟容器可以被隨意刪除,一旦容器崩潰或者被刪除掉,數據就丟失了。

另外多提一句,一般情況下,不建議在容器里運行有狀態服務,比如mysql redis等,主要也是數據丟失的風險

5、docker的網絡模式

docker本地共有四種網絡模型,分別為 bridge,host,none,container

# 查看docker 網絡 [root@node01 ~]# docker network ls NETWORK ID NAME DRIVER SCOPE 95ab2996b951 bridge bridge local ff9ddd83a44a host host local 3ab59d75c16c none null local# 查看容器使用的網絡模式 [root@node01 ~]# docker inspect c410# 創建一個網絡# 以創建一個新的briage網絡 bridge_test1 為例 [root@node01 ~]# docker network create -d bridge --subnet "10.1.1.1/24" --gateway="10.1.1.254" briage_test1 2bdd140c3dfb69e0942d93a8416628d4c0cdd77b1e2437ff446e1b658aaaf0bb[root@node01 ~]# docker network ls NETWORK ID NAME DRIVER SCOPE 2bdd140c3dfb briage_test1 bridge local 新創建的網絡 95ab2996b951 bridge bridge local ff9ddd83a44a host host local 3ab59d75c16c none null local# 刪除一個網絡 [root@node01 ~]# docker network rm briage_test1 briage_test1 [root@node01 ~]# docker network ls NETWORK ID NAME DRIVER SCOPE 95ab2996b951 bridge bridge local ff9ddd83a44a host host local 3ab59d75c16c none null local

5.1 Bridge橋接網絡

默認情況下,docker即使用bridge橋接網絡,這個橋接和我們日常理解的橋接不同,它更像是我們在虛擬機中使用的NAT網絡。

當宿主機存在多塊網卡時,可以通過brctl命令將指定的物理網卡橋接到docker0上

當Docker進程啟動時,會在主機上創建一個名為docker0的虛擬網橋,此主機上啟動的Docker容器會連接到這個虛擬網橋上。虛擬網橋的工作方式和物理交換機類似,這樣主機上的所有容器就通過交換機連在了一個二層網絡中。

[root@node01 ~]# ifconfig docker0 docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 172.1.1.1 netmask 255.255.0.0 broadcast 172.1.255.255inet6 fe80::42:4aff:fece:f9d1 prefixlen 64 scopeid 0x20<link>ether 02:42:4a:ce:f9:d1 txqueuelen 0 (Ethernet)RX packets 12 bytes 1100 (1.0 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 17 bytes 1267 (1.2 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0[root@node01 ~]# route -n | grep docker0 172.1.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0

從docker0子網中分配一個IP給容器使用,并設置docker的IP地址為容器的默認網關,在主機上創建一對虛擬網卡veth pair設備,docker將veth pair設備的一端放在容器中,并以eth0命名,一端放在宿主機中,以vethxxx命名,并且將這個網絡加入到docker0網橋中,可以通過 # brctl show 命令查看(沒有brctl安裝下 # yum install bridge-utils -y)

# 起個容器 [root@node01 ~]# docker run -itd --name="centos_test1" centos:7.9.2009 /bin/bash 55124e99e88f2da9f61a927eb301ef43e043eb9eb862579d894ce8903a31e2e8 [root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 55124e99e88f centos:7.9.2009 "/bin/bash" 6 seconds ago Up 6 seconds centos_test1# 查看容器內網卡名 [root@node01 ~]# docker exec -it 5512 /bin/bash [root@55124e99e88f /]# yum -y install net-tools [root@55124e99e88f /]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 172.1.0.2 netmask 255.255.0.0 broadcast 172.1.255.255ether 02:42:ac:01:00:02 txqueuelen 0 (Ethernet)RX packets 3877 bytes 16524721 (15.7 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 3223 bytes 178107 (173.9 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ......# 查看宿主機內網卡名 [root@node01 ~]# ip a 17: veth48645da@if16: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group defaultlink/ether 0a:45:b9:c9:ea:2c brd ff:ff:ff:ff:ff:ff link-netnsid 0inet6 fe80::845:b9ff:fec9:ea2c/64 scope linkvalid_lft forever preferred_lft forever ......# 網橋控制器查看 [root@node01 ~]# brctl show bridge name bridge id STP enabled interfaces docker0 8000.02424acef9d1 no veth48645da

bridge模式是docker的默認網絡模式,不寫–net參數,就是bridge模式。使用docker run -p時,docker實際是在iptables做了DNAT規則,實現端口轉發功能??梢允褂?# iptables -t nat -vnL查看。

5.2 Host宿主機共享網絡

如果啟動容器的時候使用host模式,那么這個容器將不會獲得一個獨立的Network Namespace,而是和宿主機共用一個Network Namespace。容器將不會虛擬出自己的網卡,配置自己的IP等,而是使用宿主機的IP和端口。但是,容器的其他方面,如文件系統、進程列表等還是和宿主機隔離的。

使用host模式的容器可以直接使用宿主機的IP地址與外界通信,容器內部的服務端口也可以使用宿主機的端口,不需要進行NAT,host最大的優勢就是網絡性能比較好,但是docker host上已經使用的端口就不能再用了,網絡的隔離性不好。

啟動容器時使用host網絡

–net=host 參數

以nginx鏡像為例,nginx鏡像默認使用80端口,我們來驗證下

# 查看下宿主機80端口沒有沖突 [root@node01 ~]# ss -naltp|grep 80# 使用 --net=host 來指定使用host網絡模式 [root@node01 ~]# docker run -d --net=host --name="nginx_host_test1" nginx:latest b908023b773f1a5163cc8cf91864c3684f546e937159396fdaa0e9a81d39b29b [root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b908023b773f nginx:latest "/docker-entrypoint.…" 5 seconds ago Up 4 seconds nginx_host_test1# 再來查看下宿主機中的端口 [root@node01 ~]# ss -naltp|grep 80 LISTEN 0 128 *:80 *:* users:(("nginx",pid=107305,fd=7),("nginx",pid=107304,fd=7),("nginx",pid=107262,fd=7)) LISTEN 0 128 [::]:80 [::]:* users:(("nginx",pid=107305,fd=8),("nginx",pid=107304,fd=8),("nginx",pid=107262,fd=8)) 可以看到,80端口直接出現在了宿主機中# 直接訪問下 [root@node01 ~]# curl localhost:80 <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style>body {width: 35em;margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif;} </style> </head> <body> <h1>Welcome to nginx!</h1> ......

5.3 None無外部網絡

用none模式,Docker容器擁有自己的Network Namespace,但是,并不為Docker容器進行任何網絡配置。也就是說,這個Docker容器沒有網卡、IP、路由等信息。需要我們自己為Docker容器添加網卡、配置IP等。

這種網絡模式下容器只有lo回環網絡,沒有其他網卡。none模式可以在容器創建時通過–network=none來指定。這種類型的網絡沒有辦法聯網,封閉的網絡能很好的保證容器的安全性。

通過 --net=none參數指定

# 運行時指定--net=none [root@node01 ~]# docker run -itd --net=none --name="centos7.9_none_test1" centos:7.9.2009 /bin/bash e81b1e6ca20d9d3469dcfe4876e7828099167ba5731a7fcb60c5d0b0d686293a [root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e81b1e6ca20d centos:7.9.2009 "/bin/bash" 4 seconds ago Up 2 seconds centos7.9_none_test1# 查看下網絡設備 [root@node01 ~]# docker exec -it e81b /bin/bash [root@e81b1e6ca20d /]# cat /proc/net/dev Inter-| Receive | Transmitface |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressedlo: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 可以看到,只有一個lo網絡

5.4 container容器共享(依附)網絡

這個模式指定新創建的容器和已經存在的一個容器共享一個 Network Namespace,而不是和宿主機共享。新創建的容器不會創建自己的網卡,配置自己的 IP,而是和一個指定的容器共享 IP、端口范圍等。同樣,兩個容器除了網絡方面,其他的如文件系統、進程列表等還是隔離的。兩個容器的進程可以通過 lo 網卡設備通信。

–net=container:被依附的容器名

# 先啟動一個新的容器,命名為 centos_container_test1 [root@node01 ~]# docker run -itd --name centos_container_test1 centos:7.9.2009 /bin/bash 49595449fb50b82625af2c08745e2597853af450a98973b477020bf442f61c9c# 在啟動一個容器,啟動時指定網絡為container并依附到 centos_container_test1 [root@node01 ~]# docker run -itd --name centos_container_test2 --net=container:centos_container_test1 centos:7.9.2009 /bin/bash ca27254e32512c5c5ec095f590d5c627c91ff08a3c8a00e4bf0628479ba549c9# 查看網絡是否相同 [root@node01 ~]# docker exec -it centos_container_test1 /bin/bash [root@49595449fb50 /]# yum -y install net-tools [root@49595449fb50 /]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 172.1.0.3 netmask 255.255.0.0 broadcast 172.1.255.255ether 02:42:ac:01:00:03 txqueuelen 0 (Ethernet)RX packets 4075 bytes 16535781 (15.7 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 3213 bytes 177825 (173.6 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ...... [root@node01 ~]# docker exec -it centos_container_test2 /bin/bash [root@49595449fb50 /]# yum -y install net-tools [root@49595449fb50 /]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 172.1.0.3 netmask 255.255.0.0 broadcast 172.1.255.255ether 02:42:ac:01:00:03 txqueuelen 0 (Ethernet)RX packets 6926 bytes 33005634 (31.4 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 5632 bytes 312908 (305.5 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ......

附:批量停止及刪除容器

前面實驗開啟了非常多的容器,怎么一次全停止并刪除

# 停 [root@node01 ~]# docker stop $(docker ps -q) ca27254e3251 49595449fb50 e81b1e6ca20d b908023b773f 55124e99e88f c410430dc13d# 刪 [root@node01 ~]# docker rm $(docker ps -aq) ca27254e3251 49595449fb50 e81b1e6ca20d b908023b773f 55124e99e88f c410430dc13d 3b1157fa7e1b 36a3d9354ba4 [root@node01 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

五、DockerFile 構建鏡像

構建鏡像除了前面提到的docker commit,還有dockerfile。實際真正使用的也是dockerfile

Dockerfile把構建鏡像的步驟都寫出來,然后按順序執行實現自動構建鏡像,就像ansible的playbook類似,也類似于使用pom去構建maven項目…

dockerfile的組成模塊

關鍵字模塊
FROM基礎鏡像信息
MAINTAINER維護者信息
RUN COPY ADD USER WORKDIR VOLUME EXPOSE…容器操作
CMD ENTRYPOINT啟動操作

1、dockerfile關鍵字(指令)

1.1 FROM

指定以哪個鏡像為基礎鏡像

# 比如以centos為基礎鏡像 FROM centos:7.9.2009

1.2 MAINTAINER

指定鏡像維護者信息

# 比如指定維護者及郵件 MAINTAINER "systemctl529_yu" "systemctlxxxxxx@163.com"

1.3 RUN

用于在構建鏡像中執行命令,比如安裝一些軟件、配置一些基礎環境,可使用\來換行或者用 && 連續執行,盡量減少多行RUN*(一個RUN一層)*

# 兩種語法: 1. shell格式 RUN yum -y install nginx && echo "test web" >> /usr/share/nginx/html/index.html RUN echo "hello docker" \/usr/share/nginx/html/index.html2. exec格式 RUN ["命令", "參數1", "參數2"] RUN ["yum","-y","install","nginx"]

1.4 COPY

將主機的文件復制到鏡像內,如果目的位置不存在,Docker會自動創建所有需要的目錄結構,但是它只是單純的復制,并不會去做文件提取和解壓工作。

需要復制的目錄一定要放在Dockerfile文件的同級目錄下

# 拷貝配置文件到容器中 COPY nginx.conf /etc/nginx

1.5 ADD

將主機的文件復制到鏡像中,跟COPY一樣,限制條件和使用方式都一樣,也是需要在dockerfile的同級目錄中。

ADD會對壓縮文件(tar, gzip, bzip2, etc)做提取和解壓操作

# 拷貝html.tar到容器中 ADD HTML.tar /usr/share/nginx/html

1.6 EXPOSE

暴露鏡像的端口供主機做映射,啟動鏡像時,使用-P參數來將鏡像端口與宿主機的隨機端口做映射。(可指定多個)

docker run時,還需 -p 參數指定內外端口

EXPOSE 指令是聲明運行時容器提供服務端口,這只是一個聲明,在運行時并不會因為這個聲明應用就會開啟這個端口的服務。在 Dockerfile 中寫入這樣的聲明有兩個好處,一個是幫助鏡像使用者理解這個鏡像服務的守護端口,以方便配置映射;另一個用處則是在運行時使用隨機端口映射時,也就是 docker run -P時,會自動隨機映射 EXPOSE 的端口

EXPOSE 80 81 82 ...

1.7 ENV

ENV指令用于指定一個環境變量

當使用生成的鏡像運行容器時,使用 ENV 設置的環境變量將持久存在于容器內,如果僅僅要在構建過程中使用變量,可以 RUN MY_NAME=“systemctl529_yu”,或者用ARG MY_NAME="systemctl529_yu"

# ENV <key> <value> 或者 ENV <key>=<value> ENV JAVA_HOME /usr/local/openjdk/bin ENV MY_NAME="systemctl529_yu" MY_JOB="OPS"

1.8 WORKDIR

在構建鏡像時,指定鏡像的工作目錄,之后的命令都是基于此工作目錄,如果不存在,則會創建目錄

WORKDIR /usr/share/nginx/html RUN echo 'hello docker' > text.txt # 這樣就會在容器的/usr/share/nginx/html/text.txt文件寫入 “hello docker”

1.9 ONBUILD

為他人做嫁衣,做基礎鏡像使用

ONBUILD 是一個特殊的指令,它后面跟的是其它指令,比如 RUN, COPY 等,而這些指令,在當前鏡像構建時并不會被執行。只有當以當前鏡像為基礎鏡像,去構建下一級鏡像的時候才會被執行。

Dockerfile 中的其它指令都是為了定制當前鏡像而準備的,唯有 ONBUILD 是為了幫助別人定制自己而準備的。比如我們需要一個java鏡像跑jar包,每次都創建一個jre環境太麻煩,所以就可以先創建個基礎鏡像,然后每次放不同jar進去做新的鏡像

語法格式為 :ONBUILD <其它指令>

# 創建基礎鏡像image1 FROM openjdk RUN mkdir /APP ONBUILD COPY xxxxx.jar /APP WORKDIR /APP CMD java -jar xxxxx.jar# 基于基礎鏡像1創建鏡像image2 FROM image1 # 似的,沒看錯,就這一行,其會調用image1中的ONBUILD

1.10 USER

指定該鏡像以哪個用戶去執行(比如以hadoop用戶執行hadoop)

如果設置了容器以XXXXX用戶去運行,那么RUN,CMD和ENTRYPOINT都會以這個用戶去運行
鏡像構建完成后,通過docker run運行容器時,可以通過-u參數來覆蓋所指定的用戶

USER XXXX

1.11 VOLUME

用來向基于鏡像創建的容器添加卷。比如你可以將mongodb鏡像中存儲數據的data文件指定為宿主機的某個文件。(容器內部建議不要存儲任何數據),如果只指定掛載點,docker宿主機映射的目錄會自動生成。

# VOLUME 宿主機目錄 容器內目錄 或者 # VOLUME 容器目錄VOLUME /data/nginx/html /usr/share/nginx/html

1.12 CMD

容器啟動時需要執行的命令

CMD不同于RUN,CMD用于指定在容器啟動時所要執行的命令,而RUN用于指定鏡像構建時所要執行的命令

每個Dockerfile只能有一條CMD命令。如果指定了多條命令,只有最后一條會被執行,同時CMD可以被docker run 時指定的運行命令覆蓋

# 兩種語法 1. exec寫法 CMD ["命令","參數1","參數2"]CMD ["/bin/bash"]2. shell寫法 CMD 命令 參數1 參數2CMD /bin/bash

1.13 ENTRYPOINT

用法和功能與CMD一致

ENTRYPOINT指定的命令不會被docker run覆蓋,但會把docker run后的命令當做 ENTRYPOINT指定命令的參數,如果dockerfile中同時有CMD和ENTRYPOINT,那么CMD也會被ENTRYPOINT當做執行命令的參數

# 兩種語法 1. exec寫法 ENTRYPOINT ["命令","參數1","參數2"]ENTRYPOINT ["/bin/bash"]2. shell寫法 ENTRYPOINT 命令 參數1 參數2ENTRYPOINT /bin/bash

2 實際寫幾個

build創建鏡像時,需要在命令后寫一個 . 這個 . 代表當前目錄上下文(當前目錄及當前目錄下的子目錄)

2.1 寫個nginx的先

[root@node01 ~]# mkdir /data/dockerfile -p [root@node01 ~]# cd /data/docker [root@node01 docker]# mkdir nginx_dockerfile [root@node01 docker]# cd nginx_dockerfile/ [root@node01 nginx_dockerfile]## 以centos為基礎鏡像,寫一個nginx的容器 [root@node01 nginx_dockerfile]# vim nginx_dockerfile FROM centos:latest MAINTAINER "systemctl529_yu" "xxxxxxx.163.com" RUN yum -y install nginx COPY index.html /usr/share/nginx/html COPY nginx.conf /etc/nginx EXPOSE 80 CMD nginx -g "daemon off;"# 準備好dockerfile中定義的文件 [root@node01 nginx_dockerfile]# echo "dockerfile_nginx_test1" >> index.html [root@node01 nginx_dockerfile]# vim nginx.conf user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events {worker_connections 1024; } http {include /etc/nginx/mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;sendfile on;#tcp_nopush on;keepalive_timeout 65;gzip on;include /etc/nginx/conf.d/*.conf;server {listen 80 default_server;server_name _;root /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {}error_page 404 /404.html;location = /404.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}}# build構建鏡像 [root@node01 nginx_dockerfile]# docker build -f nginx_dockerfile -t nginx_dockerfile:test1 . Sending build context to Docker daemon 4.608kB Step 1/7 : FROM centos:latest---> 300e315adb2f Step 2/7 : MAINTAINER "systemctl529_yu" "xxxxxxx.163.com"---> Running in 00ba4060520f Removing intermediate container 00ba4060520f---> 1b3338ca9f72 Step 3/7 : RUN yum -y install nginx ...... Step 4/7 : COPY index.html /usr/share/nginx/html---> 97379c724a8d Step 5/7 : COPY nginx.conf /etc/nginx---> 23b118c3271d Step 6/7 : EXPOSE 80---> Running in 4b14485d0bcd Removing intermediate container 4b14485d0bcd---> f88b7595fefa Step 7/7 : CMD nginx -g "daemon off;"---> Running in 1df3be4f8e69 Removing intermediate container 1df3be4f8e69---> 3a7c2ca9c867 Successfully built 3a7c2ca9c867 Successfully tagged nginx_dockerfile:test1[root@node01 nginx_dockerfile]# docker images | grep nginx_dockerfile nginx_dockerfile test1 3a7c2ca9c867 About a minute ago 313MB# 運行個容器試試 [root@node01 nginx_dockerfile]# docker run -d --name="nginx_dockerfile_test1_8001" -p 8001:80 nginx_dockerfile:test1 9c483dccd5e657006d46b60dc04422eb138b8050552b2358c1889a345392a477[root@node01 nginx_dockerfile]# curl localhost:8001 dockerfile_nginx_test1

2.2 寫個tomcat的

[root@node01 docker]# mkdir /data/docker/tomcat_dockerfile [root@node01 docker]# cd /data/docker/tomcat_dockerfile/[root@node01 tomcat_dockerfile]# vim tomcat_dockerfile # 這里沒有war包演示,所以就用tomcat默認頁面了,實際使用,可以使用 RUN rm -rf /usr/local/tomcat/webapps/*刪除掉自帶的項目,然后CPOY進WAR包 FROM adoptopenjdk/openjdk8:ubi MAINTAINER "systemctl529_yu" "xxxxxxx.163.com" ADD apache-tomcat-9.0.14.tar.gz /usr/local EXPOSE 8080 CMD /usr/local/apache-tomcat-9.0.14/bin/catalina.sh run# 下載好tomcat到當前目錄 [root@node01 tomcat_dockerfile]# ls apache-tomcat-9.0.14.tar.gz tomcat_dockerfile# build構建 [root@node01 tomcat_dockerfile]# docker build -f tomcat_dockerfile -t tomcat_dockerfile:test1 .

至于jar包的,更簡單,比如

FROM adoptopenjdk/openjdk8:ubi RUN mkdir /opt/app COPY xxxxxxx.jar /opt/app CMD ["java", "-jar", "/opt/app/xxxxxxx.jar"]

總結

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

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

亚洲人成人无码网www国产 | 牲欲强的熟妇农村老妇女 | 97夜夜澡人人爽人人喊中国片 | 最近的中文字幕在线看视频 | 久久人人爽人人爽人人片ⅴ | 久久久久久av无码免费看大片 | 人妻无码αv中文字幕久久琪琪布 | 久久午夜夜伦鲁鲁片无码免费 | 在线播放亚洲第一字幕 | 亚洲国产高清在线观看视频 | 国产农村妇女高潮大叫 | 福利一区二区三区视频在线观看 | 男人的天堂av网站 | 亚洲日韩一区二区三区 | 精品一二三区久久aaa片 | 131美女爱做视频 | 大胆欧美熟妇xx | 久久久久成人片免费观看蜜芽 | 欧美人与禽zoz0性伦交 | 亚洲成av人综合在线观看 | 成人无码影片精品久久久 | 国产莉萝无码av在线播放 | 日韩精品无码一区二区中文字幕 | 骚片av蜜桃精品一区 | 亚洲日本一区二区三区在线 | 亚洲区小说区激情区图片区 | 国产成人精品久久亚洲高清不卡 | 麻豆果冻传媒2021精品传媒一区下载 | 久久久中文久久久无码 | 亚洲成av人影院在线观看 | 日韩av无码中文无码电影 | 一区二区三区乱码在线 | 欧洲 | 人妻体内射精一区二区三四 | 亚洲精品国偷拍自产在线麻豆 | 国产精品毛片一区二区 | 亚洲精品国产精品乱码视色 | 国产av一区二区精品久久凹凸 | 国产国语老龄妇女a片 | 国产农村乱对白刺激视频 | 亚洲欧美色中文字幕在线 | 成人aaa片一区国产精品 | 国产凸凹视频一区二区 | 性生交大片免费看l | 无套内射视频囯产 | 亚洲中文字幕在线观看 | 精品一区二区三区波多野结衣 | 中文字幕无线码免费人妻 | 日日躁夜夜躁狠狠躁 | 亚洲国产精品无码一区二区三区 | 噜噜噜亚洲色成人网站 | 国产人妻久久精品二区三区老狼 | 国产网红无码精品视频 | 精品偷拍一区二区三区在线看 | 亚洲中文字幕乱码av波多ji | 国产9 9在线 | 中文 | 国产乱人偷精品人妻a片 | 女人高潮内射99精品 | 久久亚洲中文字幕精品一区 | 国产精品资源一区二区 | 国产av一区二区精品久久凹凸 | 2019午夜福利不卡片在线 | 日本va欧美va欧美va精品 | 国产性生大片免费观看性 | 波多野结衣av一区二区全免费观看 | 国产日产欧产精品精品app | 人妻天天爽夜夜爽一区二区 | 麻豆蜜桃av蜜臀av色欲av | 丰满少妇高潮惨叫视频 | 欧美日本日韩 | 麻豆精品国产精华精华液好用吗 | 欧美色就是色 | 亚洲欧美国产精品久久 | 极品嫩模高潮叫床 | 亚洲成av人综合在线观看 | 在线 国产 欧美 亚洲 天堂 | 亚洲成av人片在线观看无码不卡 | 国产情侣作爱视频免费观看 | 亚洲人成网站免费播放 | 精品国偷自产在线 | 综合激情五月综合激情五月激情1 | 亚洲gv猛男gv无码男同 | 国产成人综合美国十次 | 久9re热视频这里只有精品 | 久久久久免费看成人影片 | 亚洲综合色区中文字幕 | 动漫av一区二区在线观看 | 国产精品国产三级国产专播 | 黑人巨大精品欧美黑寡妇 | 在线观看国产一区二区三区 | 内射爽无广熟女亚洲 | 国产在线精品一区二区高清不卡 | 国产精品欧美成人 | 99久久久无码国产精品免费 | 久久99精品国产.久久久久 | 99久久精品午夜一区二区 | 亚洲精品一区二区三区婷婷月 | 免费播放一区二区三区 | 乱人伦人妻中文字幕无码 | 综合激情五月综合激情五月激情1 | 久久五月精品中文字幕 | 一个人看的www免费视频在线观看 | 午夜福利电影 | 无码人妻久久一区二区三区不卡 | 色偷偷人人澡人人爽人人模 | 青青青手机频在线观看 | 免费国产成人高清在线观看网站 | 伊人久久大香线蕉av一区二区 | 成人av无码一区二区三区 | 亚洲精品久久久久久久久久久 | 丰满妇女强制高潮18xxxx | 老太婆性杂交欧美肥老太 | 色婷婷香蕉在线一区二区 | 牲欲强的熟妇农村老妇女 | 亚洲成av人片在线观看无码不卡 | 青青青爽视频在线观看 | 少妇人妻av毛片在线看 | 97夜夜澡人人双人人人喊 | 亚洲成色在线综合网站 | 国产性生大片免费观看性 | 国产特级毛片aaaaaa高潮流水 | 久久这里只有精品视频9 | 亚洲日韩av一区二区三区中文 | 精品久久8x国产免费观看 | 性开放的女人aaa片 | 久久精品中文字幕一区 | 巨爆乳无码视频在线观看 | 在线播放无码字幕亚洲 | 国产卡一卡二卡三 | 亚洲a无码综合a国产av中文 | 国产精品高潮呻吟av久久 | 日韩精品一区二区av在线 | 色诱久久久久综合网ywww | 久久综合香蕉国产蜜臀av | 日韩欧美中文字幕公布 | 久久午夜无码鲁丝片午夜精品 | 漂亮人妻洗澡被公强 日日躁 | 天天躁日日躁狠狠躁免费麻豆 | 欧美一区二区三区 | 国产午夜精品一区二区三区嫩草 | 国产真实乱对白精彩久久 | 日韩 欧美 动漫 国产 制服 | 人人妻人人藻人人爽欧美一区 | 成人欧美一区二区三区黑人免费 | 久久久精品456亚洲影院 | 中文字幕久久久久人妻 | 熟妇女人妻丰满少妇中文字幕 | 国产精品久久久久久无码 | aa片在线观看视频在线播放 | 九九热爱视频精品 | 激情亚洲一区国产精品 | 亚洲精品国产精品乱码不卡 | 久青草影院在线观看国产 | 国产精品怡红院永久免费 | 无码纯肉视频在线观看 | 亚拍精品一区二区三区探花 | 荡女精品导航 | 亚洲熟女一区二区三区 | 人妻少妇被猛烈进入中文字幕 | 内射欧美老妇wbb | 对白脏话肉麻粗话av | 日本精品久久久久中文字幕 | 玩弄少妇高潮ⅹxxxyw | 国产激情一区二区三区 | 国产极品美女高潮无套在线观看 | 丰满人妻精品国产99aⅴ | 一本无码人妻在中文字幕免费 | 国产成人无码区免费内射一片色欲 | 亚洲乱码中文字幕在线 | 国产成人综合在线女婷五月99播放 | 日本一卡二卡不卡视频查询 | 亚洲自偷自拍另类第1页 | 少妇的肉体aa片免费 | 双乳奶水饱满少妇呻吟 | 国产在线一区二区三区四区五区 | 国产精品沙发午睡系列 | 丝袜美腿亚洲一区二区 | 在线天堂新版最新版在线8 | 成人动漫在线观看 | 亚洲精品国偷拍自产在线麻豆 | 日韩成人一区二区三区在线观看 | 老太婆性杂交欧美肥老太 | 激情内射日本一区二区三区 | 综合激情五月综合激情五月激情1 | 天天拍夜夜添久久精品 | 欧美人与牲动交xxxx | 无码午夜成人1000部免费视频 | 无码一区二区三区在线观看 | 美女黄网站人色视频免费国产 | 日本爽爽爽爽爽爽在线观看免 | 欧美日本精品一区二区三区 | 日韩人妻无码中文字幕视频 | 欧美人与动性行为视频 | 国模大胆一区二区三区 | yw尤物av无码国产在线观看 | 国产精品亚洲一区二区三区喷水 | 亚洲欧美综合区丁香五月小说 | 99久久无码一区人妻 | 精品人妻中文字幕有码在线 | 亚洲国产精品久久久久久 | 老熟妇仑乱视频一区二区 | 大地资源网第二页免费观看 | 日产国产精品亚洲系列 | 国产精品怡红院永久免费 | 国产精品理论片在线观看 | 国产精品亚洲专区无码不卡 | 伊人色综合久久天天小片 | 国产精品久久久久久久9999 | 久久综合狠狠综合久久综合88 | 日韩精品久久久肉伦网站 | 久久99久久99精品中文字幕 | 国产精品亚洲五月天高清 | 亚洲区小说区激情区图片区 | 综合网日日天干夜夜久久 | 亚洲国产精品久久人人爱 | 偷窥日本少妇撒尿chinese | 人妻熟女一区 | 日欧一片内射va在线影院 | 亚洲国产精品久久久久久 | 国产欧美亚洲精品a | 欧美日本日韩 | 2019nv天堂香蕉在线观看 | 亚洲精品国产第一综合99久久 | 九一九色国产 | 欧美人与物videos另类 | 99久久精品国产一区二区蜜芽 | 欧洲精品码一区二区三区免费看 | 国产av无码专区亚洲awww | 国产成人无码一二三区视频 | 欧美国产日产一区二区 | 大肉大捧一进一出好爽视频 | 亚洲精品久久久久久久久久久 | 日本大香伊一区二区三区 | а√资源新版在线天堂 | 性史性农村dvd毛片 | 国产精品人妻一区二区三区四 | 麻豆国产人妻欲求不满谁演的 | 国产精品人妻一区二区三区四 | 亚洲毛片av日韩av无码 | 日本一区二区三区免费播放 | 学生妹亚洲一区二区 | 国产偷自视频区视频 | 玩弄少妇高潮ⅹxxxyw | 欧美日韩久久久精品a片 | 亚洲日本一区二区三区在线 | 久久精品中文闷骚内射 | 波多野结衣 黑人 | 300部国产真实乱 | 色综合久久中文娱乐网 | 日韩欧美中文字幕在线三区 | 国内丰满熟女出轨videos | 无遮挡啪啪摇乳动态图 | 久久精品人妻少妇一区二区三区 | 人妻少妇精品视频专区 | 久久午夜无码鲁丝片午夜精品 | 亚洲欧美中文字幕5发布 | 中文字幕精品av一区二区五区 | 桃花色综合影院 | 国产人妻精品午夜福利免费 | 免费国产成人高清在线观看网站 | 俄罗斯老熟妇色xxxx | 亚洲色无码一区二区三区 | 国产人妻人伦精品 | 亚洲无人区一区二区三区 | 亚洲另类伦春色综合小说 | 成人精品一区二区三区中文字幕 | 美女极度色诱视频国产 | 国产亚洲人成在线播放 | 日本va欧美va欧美va精品 | 精品国偷自产在线视频 | 曰本女人与公拘交酡免费视频 | 日本爽爽爽爽爽爽在线观看免 | 日本精品久久久久中文字幕 | 美女张开腿让人桶 | 97人妻精品一区二区三区 | 东京无码熟妇人妻av在线网址 | 国产偷国产偷精品高清尤物 | 婷婷五月综合激情中文字幕 | 十八禁视频网站在线观看 | 国产做国产爱免费视频 | 久久久久久九九精品久 | 国产小呦泬泬99精品 | 曰韩无码二三区中文字幕 | 国内揄拍国内精品少妇国语 | 人人爽人人澡人人人妻 | 国产超级va在线观看视频 | 亚洲一区二区三区国产精华液 | 十八禁真人啪啪免费网站 | 欧美亚洲国产一区二区三区 | 99re在线播放 | 一本久道久久综合婷婷五月 | 亚洲国产精品一区二区美利坚 | 国产色在线 | 国产 | 国产亚洲精品精品国产亚洲综合 | 久久久久久av无码免费看大片 | 国内精品人妻无码久久久影院蜜桃 | 99久久精品日本一区二区免费 | 中文字幕无码日韩欧毛 | 久久aⅴ免费观看 | 亚洲日本va午夜在线电影 | 无码免费一区二区三区 | 国产成人精品三级麻豆 | 亚洲色成人中文字幕网站 | 国产精品亚洲综合色区韩国 | 亚洲国产综合无码一区 | 国产精品爱久久久久久久 | 激情亚洲一区国产精品 | 少妇无码av无码专区在线观看 | 麻豆md0077饥渴少妇 | 精品国产av色一区二区深夜久久 | 乌克兰少妇xxxx做受 | 亚洲成av人片天堂网无码】 | 国产精品.xx视频.xxtv | 精品成人av一区二区三区 | 日产精品99久久久久久 | 国内精品久久久久久中文字幕 | 午夜精品一区二区三区在线观看 | 国产内射老熟女aaaa | 性色欲情网站iwww九文堂 | 日本爽爽爽爽爽爽在线观看免 | 亚洲日韩av一区二区三区四区 | 欧美人与善在线com | 性做久久久久久久免费看 | 狠狠躁日日躁夜夜躁2020 | 中文字幕无码日韩欧毛 | 午夜福利不卡在线视频 | 国产精品无码久久av | 午夜精品久久久内射近拍高清 | 国产精品无码一区二区三区不卡 | 国产日产欧产精品精品app | 精品国产乱码久久久久乱码 | 天下第一社区视频www日本 | 香港三级日本三级妇三级 | 亚洲 a v无 码免 费 成 人 a v | 久久人妻内射无码一区三区 | 国产内射爽爽大片视频社区在线 | 国产精品丝袜黑色高跟鞋 | 亚洲精品美女久久久久久久 | 美女张开腿让人桶 | 亚洲国产欧美日韩精品一区二区三区 | 精品aⅴ一区二区三区 | 久热国产vs视频在线观看 | 国产精品人人爽人人做我的可爱 | 免费无码一区二区三区蜜桃大 | 欧美freesex黑人又粗又大 | 久久天天躁狠狠躁夜夜免费观看 | 蜜臀av在线播放 久久综合激激的五月天 | 人人澡人人妻人人爽人人蜜桃 | 国产在线精品一区二区三区直播 | 久久伊人色av天堂九九小黄鸭 | 成人免费视频视频在线观看 免费 | 人妻少妇精品无码专区二区 | 日本熟妇大屁股人妻 | 亚无码乱人伦一区二区 | 娇妻被黑人粗大高潮白浆 | 欧美精品在线观看 | 精品无码一区二区三区爱欲 | 色一情一乱一伦一区二区三欧美 | 中文字幕乱码人妻二区三区 | 午夜理论片yy44880影院 | 蜜桃无码一区二区三区 | 久久人妻内射无码一区三区 | 草草网站影院白丝内射 | 亚洲自偷精品视频自拍 | 天堂久久天堂av色综合 | 国产亚洲美女精品久久久2020 | 熟女少妇人妻中文字幕 | 亚洲精品久久久久久久久久久 | 在线看片无码永久免费视频 | 国产无套粉嫩白浆在线 | 亚洲国产综合无码一区 | 四虎影视成人永久免费观看视频 | √8天堂资源地址中文在线 | 大肉大捧一进一出好爽视频 | 毛片内射-百度 | 无码人妻丰满熟妇区毛片18 | 亚洲综合伊人久久大杳蕉 | 4hu四虎永久在线观看 | 国产一精品一av一免费 | 久久亚洲a片com人成 | 国产电影无码午夜在线播放 | 久久综合狠狠综合久久综合88 | 毛片内射-百度 | 在线播放亚洲第一字幕 | 麻豆md0077饥渴少妇 | 国产xxx69麻豆国语对白 | 国色天香社区在线视频 | 成人精品视频一区二区三区尤物 | 中文亚洲成a人片在线观看 | 国产亚洲精品久久久闺蜜 | 日日鲁鲁鲁夜夜爽爽狠狠 | 免费人成在线视频无码 | 成在人线av无码免费 | 男女猛烈xx00免费视频试看 | 丰满岳乱妇在线观看中字无码 | 亚洲色偷偷男人的天堂 | 亚洲 a v无 码免 费 成 人 a v | 久久久久国色av免费观看性色 | 色爱情人网站 | 日日噜噜噜噜夜夜爽亚洲精品 | 中文无码精品a∨在线观看不卡 | 亚洲欧美日韩成人高清在线一区 | 精品夜夜澡人妻无码av蜜桃 | 国产无av码在线观看 | 亚洲中文字幕av在天堂 | 国产精品人人爽人人做我的可爱 | 欧美国产日产一区二区 | 亚洲国产精品无码一区二区三区 | 日日噜噜噜噜夜夜爽亚洲精品 | 精品无码成人片一区二区98 | 日韩欧美中文字幕在线三区 | 日本精品少妇一区二区三区 | 未满小14洗澡无码视频网站 | 国产艳妇av在线观看果冻传媒 | 亚洲色欲久久久综合网东京热 | 久久久亚洲欧洲日产国码αv | 亚洲天堂2017无码 | 国产亚洲精品久久久久久久久动漫 | 成人一在线视频日韩国产 | 人妻插b视频一区二区三区 | 亚洲国产精品久久人人爱 | 久久婷婷五月综合色国产香蕉 | 精品熟女少妇av免费观看 | 成人动漫在线观看 | 性色欲情网站iwww九文堂 | 欧美喷潮久久久xxxxx | 欧美精品国产综合久久 | 少妇太爽了在线观看 | 日本又色又爽又黄的a片18禁 | 蜜桃视频插满18在线观看 | 久久精品女人的天堂av | 色五月五月丁香亚洲综合网 | 无码国模国产在线观看 | 国产精品无码久久av | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 国产精品鲁鲁鲁 | 欧美午夜特黄aaaaaa片 | 色综合久久中文娱乐网 | 国产莉萝无码av在线播放 | 亚洲中文字幕在线无码一区二区 | 久久亚洲中文字幕精品一区 | 国产综合在线观看 | 久久伊人色av天堂九九小黄鸭 | 国产成人精品一区二区在线小狼 | 中文字幕 亚洲精品 第1页 | 国产片av国语在线观看 | 曰本女人与公拘交酡免费视频 | 欧洲极品少妇 | 色综合视频一区二区三区 | 国产午夜亚洲精品不卡下载 | 中文字幕人妻无码一夲道 | 欧美freesex黑人又粗又大 | 国产黑色丝袜在线播放 | 国产精品久久久午夜夜伦鲁鲁 | 国产片av国语在线观看 | 国产热a欧美热a在线视频 | 欧美国产日韩亚洲中文 | 亚洲の无码国产の无码步美 | 国产乱子伦视频在线播放 | 日韩精品a片一区二区三区妖精 | 丝袜 中出 制服 人妻 美腿 | 亚洲日韩一区二区 | 亚洲一区二区三区偷拍女厕 | 免费无码肉片在线观看 | 骚片av蜜桃精品一区 | 亚洲а∨天堂久久精品2021 | 久久人人97超碰a片精品 | 久久午夜夜伦鲁鲁片无码免费 | 东北女人啪啪对白 | 美女毛片一区二区三区四区 | 成人免费视频视频在线观看 免费 | 国产超碰人人爽人人做人人添 | 88国产精品欧美一区二区三区 | 国产成人精品三级麻豆 | 精品国产乱码久久久久乱码 | 极品尤物被啪到呻吟喷水 | 成年美女黄网站色大免费全看 | 国产亚洲视频中文字幕97精品 | 久久久久se色偷偷亚洲精品av | 国产女主播喷水视频在线观看 | 中文字幕无码乱人伦 | 久久国产劲爆∧v内射 | 永久黄网站色视频免费直播 | 精品久久久久久亚洲精品 | 婷婷五月综合激情中文字幕 | 久久综合色之久久综合 | 日韩精品无码一区二区中文字幕 | 欧美国产日韩久久mv | 成人精品一区二区三区中文字幕 | 无码免费一区二区三区 | 国产麻豆精品一区二区三区v视界 | 又色又爽又黄的美女裸体网站 | 精品无码av一区二区三区 | 精品夜夜澡人妻无码av蜜桃 | 扒开双腿疯狂进出爽爽爽视频 | 国产人妻精品一区二区三区不卡 | 天干天干啦夜天干天2017 | 欧美激情内射喷水高潮 | 水蜜桃av无码 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲综合另类小说色区 | 亚洲中文字幕乱码av波多ji | 欧美一区二区三区 | 图片小说视频一区二区 | 小sao货水好多真紧h无码视频 | 久久无码人妻影院 | 国产精品久久久 | 亚洲精品国产品国语在线观看 | 亚洲精品成人福利网站 | 成人女人看片免费视频放人 | 帮老师解开蕾丝奶罩吸乳网站 | 午夜熟女插插xx免费视频 | 草草网站影院白丝内射 | 色窝窝无码一区二区三区色欲 | 扒开双腿吃奶呻吟做受视频 | 日日碰狠狠丁香久燥 | 两性色午夜视频免费播放 | 四虎影视成人永久免费观看视频 | 免费无码一区二区三区蜜桃大 | 亚洲人亚洲人成电影网站色 | 99国产欧美久久久精品 | 国产九九九九九九九a片 | 成在人线av无码免观看麻豆 | 一本色道久久综合亚洲精品不卡 | 成人试看120秒体验区 | 最近中文2019字幕第二页 | 999久久久国产精品消防器材 | 图片小说视频一区二区 | 国产亚洲美女精品久久久2020 | 久久国产精品精品国产色婷婷 | 中国女人内谢69xxxx | 日日天日日夜日日摸 | 久精品国产欧美亚洲色aⅴ大片 | 精品国产成人一区二区三区 | 欧美丰满熟妇xxxx性ppx人交 | 亚无码乱人伦一区二区 | 玩弄人妻少妇500系列视频 | 免费无码av一区二区 | 亚洲综合久久一区二区 | 中文无码伦av中文字幕 | 精品一二三区久久aaa片 | aⅴ在线视频男人的天堂 | 国产亚洲人成在线播放 | 无码精品国产va在线观看dvd | 日韩视频 中文字幕 视频一区 | 中文字幕av日韩精品一区二区 | 三上悠亚人妻中文字幕在线 | 国产成人一区二区三区别 | 亚洲精品中文字幕 | 国产成人精品一区二区在线小狼 | 精品国产青草久久久久福利 | 亚洲日本va中文字幕 | 在线播放无码字幕亚洲 | 丰满人妻翻云覆雨呻吟视频 | 综合网日日天干夜夜久久 | 偷窥日本少妇撒尿chinese | 人人妻人人澡人人爽人人精品浪潮 | 精品久久久无码人妻字幂 | 色综合久久中文娱乐网 | 欧美阿v高清资源不卡在线播放 | 中文字幕乱码人妻二区三区 | 欧美乱妇无乱码大黄a片 | 97久久国产亚洲精品超碰热 | 国产精品高潮呻吟av久久4虎 | 久久久精品国产sm最大网站 | 亚洲精品一区三区三区在线观看 | 天堂亚洲2017在线观看 | 天堂亚洲免费视频 | 亚洲成av人影院在线观看 | 精品国产成人一区二区三区 | 樱花草在线播放免费中文 | 午夜熟女插插xx免费视频 | 四十如虎的丰满熟妇啪啪 | 亚洲一区二区三区香蕉 | 4hu四虎永久在线观看 | 欧美成人高清在线播放 | 黄网在线观看免费网站 | 亚洲日本va午夜在线电影 | 精品乱子伦一区二区三区 | √天堂中文官网8在线 | 人妻少妇精品久久 | 亚洲s码欧洲m码国产av | 国产精品无码成人午夜电影 | 亚洲欧美日韩国产精品一区二区 | 精品人妻中文字幕有码在线 | 午夜精品久久久久久久 | 欧美35页视频在线观看 | 精品无人区无码乱码毛片国产 | 国产精品亚洲专区无码不卡 | 性欧美videos高清精品 | 波多野结衣av在线观看 | 亚洲精品一区二区三区四区五区 | 久久国产精品二国产精品 | 无人区乱码一区二区三区 | 中文字幕人成乱码熟女app | 成 人 免费观看网站 | 帮老师解开蕾丝奶罩吸乳网站 | 日产精品99久久久久久 | 一二三四社区在线中文视频 | 鲁鲁鲁爽爽爽在线视频观看 | 成 人影片 免费观看 | 欧美日韩一区二区免费视频 | 中文精品久久久久人妻不卡 | 国产精品无码永久免费888 | 中文字幕乱码人妻无码久久 | 成人av无码一区二区三区 | 欧美丰满老熟妇xxxxx性 | 在线精品亚洲一区二区 | 中文字幕无线码 | 国产一区二区不卡老阿姨 | 国产人妻大战黑人第1集 | 欧美精品一区二区精品久久 | 国产精华av午夜在线观看 | 免费无码av一区二区 | 亚洲娇小与黑人巨大交 | 国产精品沙发午睡系列 | 77777熟女视频在线观看 а天堂中文在线官网 | 国产在线一区二区三区四区五区 | 又粗又大又硬毛片免费看 | 色妞www精品免费视频 | 5858s亚洲色大成网站www | 高清无码午夜福利视频 | 色婷婷av一区二区三区之红樱桃 | 婷婷五月综合激情中文字幕 | 精品乱码久久久久久久 | 日韩av无码中文无码电影 | 成人精品天堂一区二区三区 | 漂亮人妻洗澡被公强 日日躁 | 国产欧美熟妇另类久久久 | 国产小呦泬泬99精品 | 国产免费无码一区二区视频 | 色一情一乱一伦一区二区三欧美 | 亚洲熟妇色xxxxx欧美老妇 | 国产精品资源一区二区 | 欧美精品国产综合久久 | 人人妻人人藻人人爽欧美一区 | aⅴ在线视频男人的天堂 | 国产 精品 自在自线 | 在线看片无码永久免费视频 | 日日摸日日碰夜夜爽av | 波多野结衣乳巨码无在线观看 | 国产成人人人97超碰超爽8 | 欧美大屁股xxxxhd黑色 | 亚洲熟妇色xxxxx欧美老妇y | 鲁大师影院在线观看 | 色五月丁香五月综合五月 | 青青青手机频在线观看 | 久久国产精品_国产精品 | 国产精品爱久久久久久久 | 欧美黑人性暴力猛交喷水 | 狠狠亚洲超碰狼人久久 | 中文字幕日韩精品一区二区三区 | 久青草影院在线观看国产 | 国产成人精品三级麻豆 | 精品人妻中文字幕有码在线 | 亚洲人成无码网www | 人人妻人人澡人人爽人人精品 | 亲嘴扒胸摸屁股激烈网站 | 日韩亚洲欧美精品综合 | 在线成人www免费观看视频 | 成人免费视频一区二区 | 欧洲精品码一区二区三区免费看 | 波多野42部无码喷潮在线 | 国产精品怡红院永久免费 | 久久精品国产一区二区三区肥胖 | 亚洲欧洲无卡二区视頻 | 国产精品福利视频导航 | 丰满妇女强制高潮18xxxx | 国产精品18久久久久久麻辣 | 午夜福利一区二区三区在线观看 | 色情久久久av熟女人妻网站 | 亚洲人成人无码网www国产 | 欧洲熟妇精品视频 | 丰满人妻被黑人猛烈进入 | 国产精品久久久一区二区三区 | 亚欧洲精品在线视频免费观看 | 成人女人看片免费视频放人 | 亚洲国产成人av在线观看 | 狠狠噜狠狠狠狠丁香五月 | 国产无遮挡吃胸膜奶免费看 | 久久无码中文字幕免费影院蜜桃 | 国产亚洲精品久久久久久国模美 | 全黄性性激高免费视频 | 99er热精品视频 | 无码人妻久久一区二区三区不卡 | 伊人久久大香线蕉亚洲 | 欧美激情内射喷水高潮 | 国产av剧情md精品麻豆 | 大肉大捧一进一出好爽视频 | 国产国产精品人在线视 | 亚洲娇小与黑人巨大交 | 日产精品99久久久久久 | 国产精品人妻一区二区三区四 | 精品一二三区久久aaa片 | 成人影院yy111111在线观看 | 草草网站影院白丝内射 | 亚洲国产精品毛片av不卡在线 | 日日天日日夜日日摸 | 亚洲日韩乱码中文无码蜜桃臀网站 | 国产性生交xxxxx无码 | 中文字幕无码av激情不卡 | 在线观看国产一区二区三区 | 永久免费观看国产裸体美女 | 麻花豆传媒剧国产免费mv在线 | 性欧美牲交xxxxx视频 | 免费国产成人高清在线观看网站 | 日产精品高潮呻吟av久久 | 99久久婷婷国产综合精品青草免费 | 一本久久a久久精品亚洲 | 免费观看的无遮挡av | 内射后入在线观看一区 | 欧美放荡的少妇 | 亚洲国产欧美在线成人 | 乱码av麻豆丝袜熟女系列 | 香港三级日本三级妇三级 | 日本护士xxxxhd少妇 | 国产av无码专区亚洲a∨毛片 | 欧美老人巨大xxxx做受 | 成人无码精品1区2区3区免费看 | 国产无遮挡又黄又爽免费视频 | 精品久久久久久亚洲精品 | 一本久久伊人热热精品中文字幕 | aa片在线观看视频在线播放 | 在线精品亚洲一区二区 | 荫蒂被男人添的好舒服爽免费视频 | 久久精品国产一区二区三区肥胖 | 成人无码精品一区二区三区 | 老熟妇仑乱视频一区二区 | 伊人久久大香线蕉亚洲 | 欧美性生交活xxxxxdddd | 亚洲成av人在线观看网址 | 日韩精品a片一区二区三区妖精 | 亚洲国产精品一区二区美利坚 | 无遮挡国产高潮视频免费观看 | 亚洲国精产品一二二线 | 鲁大师影院在线观看 | 国产免费久久久久久无码 | 少妇性荡欲午夜性开放视频剧场 | 国产精品久久国产三级国 | 色综合视频一区二区三区 | 亚洲一区二区三区四区 | 俺去俺来也在线www色官网 | 熟妇人妻无乱码中文字幕 | 久久久中文久久久无码 | 55夜色66夜色国产精品视频 | 日本成熟视频免费视频 | 高潮毛片无遮挡高清免费 | 又大又硬又黄的免费视频 | 麻豆蜜桃av蜜臀av色欲av | 国产黑色丝袜在线播放 | 在线 国产 欧美 亚洲 天堂 | 性开放的女人aaa片 | 亚洲成av人片天堂网无码】 | 中文字幕+乱码+中文字幕一区 | 亚洲成av人片天堂网无码】 | 青草视频在线播放 | 国产av久久久久精东av | 色欲人妻aaaaaaa无码 | 色一情一乱一伦一区二区三欧美 | 成 人 网 站国产免费观看 | 亚洲综合无码久久精品综合 | 精品久久久久久亚洲精品 | 国产人妻精品一区二区三区 | 人人澡人人妻人人爽人人蜜桃 | 久久人妻内射无码一区三区 | 国产精品视频免费播放 | 97久久国产亚洲精品超碰热 | 丰满少妇人妻久久久久久 | 国内精品一区二区三区不卡 | 成人亚洲精品久久久久软件 | 国产在热线精品视频 | 色欲久久久天天天综合网精品 | 精品国产av色一区二区深夜久久 | 无码国产激情在线观看 | 精品无码一区二区三区的天堂 | 水蜜桃av无码 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 国产热a欧美热a在线视频 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲精品国产第一综合99久久 | 精品国产一区二区三区av 性色 | 日韩欧美中文字幕公布 | 久久久久亚洲精品中文字幕 | 午夜精品久久久久久久 | 国产精品美女久久久 | 丰满少妇熟乱xxxxx视频 | 精品久久8x国产免费观看 | 亚洲最大成人网站 | 国产农村乱对白刺激视频 | 日本一区二区三区免费高清 | 亚无码乱人伦一区二区 | 国产人妻人伦精品 | 国产精品怡红院永久免费 | 少妇邻居内射在线 | 亚洲国产精品一区二区第一页 | 国精产品一区二区三区 | 天天摸天天碰天天添 | 久久久久se色偷偷亚洲精品av | 婷婷五月综合激情中文字幕 | 久久午夜无码鲁丝片午夜精品 | 丰满人妻翻云覆雨呻吟视频 | 国产精品无码一区二区桃花视频 | 亚洲精品综合五月久久小说 | 天堂亚洲2017在线观看 | 日日摸夜夜摸狠狠摸婷婷 | 久久久久亚洲精品男人的天堂 | 亚洲国产一区二区三区在线观看 | 水蜜桃色314在线观看 | 亚洲欧洲日本综合aⅴ在线 | 少妇人妻大乳在线视频 | 欧美人与禽zoz0性伦交 | 精品厕所偷拍各类美女tp嘘嘘 | 伊人久久大香线蕉av一区二区 | 麻豆av传媒蜜桃天美传媒 | 蜜臀aⅴ国产精品久久久国产老师 | 欧美精品一区二区精品久久 | 天天拍夜夜添久久精品大 | 蜜桃视频韩日免费播放 | 成人欧美一区二区三区黑人 | 福利一区二区三区视频在线观看 | 未满小14洗澡无码视频网站 | 97无码免费人妻超级碰碰夜夜 | 亚洲区小说区激情区图片区 | 99精品久久毛片a片 | 又色又爽又黄的美女裸体网站 | 精品国偷自产在线 | 欧美日韩一区二区免费视频 | 精品国产av色一区二区深夜久久 | 日韩av无码一区二区三区不卡 | 亚洲精品一区二区三区在线 | 国产精品自产拍在线观看 | 日本又色又爽又黄的a片18禁 | 日本xxxx色视频在线观看免费 | 国产一区二区三区四区五区加勒比 | 亚洲国产精品久久久天堂 | а天堂中文在线官网 | 欧美丰满少妇xxxx性 | 任你躁在线精品免费 | 国产性生大片免费观看性 | av无码久久久久不卡免费网站 | 国产午夜无码精品免费看 | 黑人玩弄人妻中文在线 | 久久人人爽人人人人片 | 青春草在线视频免费观看 | 乱中年女人伦av三区 | 国产精品久久久av久久久 | 少妇性荡欲午夜性开放视频剧场 | 少妇的肉体aa片免费 | 国产人妻精品一区二区三区不卡 | 蜜臀aⅴ国产精品久久久国产老师 | 亚洲精品无码国产 | 亚洲欧洲日本综合aⅴ在线 | 夜夜高潮次次欢爽av女 | 鲁一鲁av2019在线 | 亚洲а∨天堂久久精品2021 | 无遮挡国产高潮视频免费观看 | 性欧美videos高清精品 | 男人扒开女人内裤强吻桶进去 | 精品一区二区三区波多野结衣 | 宝宝好涨水快流出来免费视频 | 亚洲欧洲无卡二区视頻 | 99精品无人区乱码1区2区3区 | 老熟妇乱子伦牲交视频 | 成人影院yy111111在线观看 | 国产亚洲精品精品国产亚洲综合 | 少妇久久久久久人妻无码 | 国产偷抇久久精品a片69 | 理论片87福利理论电影 | 久久久久se色偷偷亚洲精品av | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产精品成人av在线观看 | 国产成人综合在线女婷五月99播放 | 国产亚洲欧美在线专区 | 国产精品久久久久久亚洲毛片 | 国产一区二区三区影院 | 久久综合网欧美色妞网 | 亚洲熟妇色xxxxx欧美老妇 | 午夜精品久久久内射近拍高清 | 亚洲中文字幕无码中文字在线 | 人妻互换免费中文字幕 | 欧美丰满熟妇xxxx性ppx人交 | √天堂资源地址中文在线 | 亚洲一区二区三区 | 无遮无挡爽爽免费视频 | 亚洲国精产品一二二线 | 国产凸凹视频一区二区 | 亚洲综合无码久久精品综合 | 综合激情五月综合激情五月激情1 | 人人超人人超碰超国产 | 亚洲人成网站在线播放942 | 一本久久伊人热热精品中文字幕 | 欧美野外疯狂做受xxxx高潮 | 国产精品福利视频导航 | 欧美精品无码一区二区三区 | 1000部夫妻午夜免费 | 精品国产乱码久久久久乱码 | 久久久久国色av免费观看性色 | 精品成人av一区二区三区 | 熟妇人妻激情偷爽文 | 少妇性俱乐部纵欲狂欢电影 | 内射巨臀欧美在线视频 | 久久国产精品精品国产色婷婷 | 亚洲国产欧美在线成人 | 亚洲 另类 在线 欧美 制服 | 久久久亚洲欧洲日产国码αv | 日日干夜夜干 | 亚洲色大成网站www国产 | 好男人社区资源 | 国精产品一区二区三区 | 久久久久se色偷偷亚洲精品av | 波多野42部无码喷潮在线 | 又湿又紧又大又爽a视频国产 | 999久久久国产精品消防器材 | 国产av一区二区三区最新精品 | 九九在线中文字幕无码 | 国产精品成人av在线观看 | 麻豆果冻传媒2021精品传媒一区下载 | 成人免费视频视频在线观看 免费 | 久久国产精品萌白酱免费 | 一个人看的www免费视频在线观看 | 欧美高清在线精品一区 | 色妞www精品免费视频 | 久久久久人妻一区精品色欧美 | 99久久久无码国产精品免费 | 国产精品自产拍在线观看 | 欧美日韩一区二区免费视频 | 无码人妻久久一区二区三区不卡 | 牲欲强的熟妇农村老妇女视频 | 亚洲gv猛男gv无码男同 | 中文字幕乱码人妻无码久久 | 国产suv精品一区二区五 | 日日橹狠狠爱欧美视频 | 亚洲日本一区二区三区在线 | 国产成人无码av片在线观看不卡 | 丝袜 中出 制服 人妻 美腿 | 欧美性黑人极品hd | 国产成人无码一二三区视频 | 国产精品99爱免费视频 | 欧美真人作爱免费视频 | 97色伦图片97综合影院 | 国内少妇偷人精品视频免费 | 久久99精品久久久久婷婷 | 久久亚洲日韩精品一区二区三区 | 亚欧洲精品在线视频免费观看 | 亚洲日本va午夜在线电影 | 国产一精品一av一免费 | 亚洲欧美精品aaaaaa片 | www成人国产高清内射 | 男人的天堂2018无码 | 任你躁在线精品免费 | 无码国产色欲xxxxx视频 | 中文字幕乱妇无码av在线 | 国产精品福利视频导航 | 日日摸天天摸爽爽狠狠97 | 亚洲 a v无 码免 费 成 人 a v | 无码吃奶揉捏奶头高潮视频 | 秋霞特色aa大片 | 国产亚洲日韩欧美另类第八页 | 精品国产麻豆免费人成网站 | 无码人妻丰满熟妇区毛片18 | 精品一区二区三区波多野结衣 | 国内老熟妇对白xxxxhd | 双乳奶水饱满少妇呻吟 | 亚洲精品国产第一综合99久久 | 午夜免费福利小电影 | 99riav国产精品视频 | 精品无码一区二区三区的天堂 | 99久久精品日本一区二区免费 | 亚洲人成影院在线无码按摩店 | 高清无码午夜福利视频 | 波多野42部无码喷潮在线 | 国产av一区二区精品久久凹凸 | 性色欲情网站iwww九文堂 | 欧洲精品码一区二区三区免费看 | 中文字幕av无码一区二区三区电影 | 婷婷六月久久综合丁香 | 午夜理论片yy44880影院 | av人摸人人人澡人人超碰下载 | 欧美猛少妇色xxxxx | 秋霞成人午夜鲁丝一区二区三区 | 午夜精品久久久内射近拍高清 | 亚洲乱码日产精品bd | 樱花草在线播放免费中文 | 色婷婷香蕉在线一区二区 | 成人欧美一区二区三区黑人 | 久久精品成人欧美大片 | 啦啦啦www在线观看免费视频 | 亚洲 另类 在线 欧美 制服 | 玩弄少妇高潮ⅹxxxyw | 中文字幕日韩精品一区二区三区 | 久久精品国产99久久6动漫 | 亚洲熟悉妇女xxx妇女av | 国产一精品一av一免费 | 天天拍夜夜添久久精品 | 亚洲国产精品一区二区第一页 | 亚洲日韩一区二区 | 欧美 日韩 人妻 高清 中文 | 国产一区二区三区四区五区加勒比 | 97无码免费人妻超级碰碰夜夜 | 中文字幕乱码亚洲无线三区 | 无码av中文字幕免费放 | 国精产品一品二品国精品69xx | 日日噜噜噜噜夜夜爽亚洲精品 | 少妇被黑人到高潮喷出白浆 | 色综合久久久无码网中文 | 成人aaa片一区国产精品 | 好屌草这里只有精品 | 国产三级精品三级男人的天堂 | 精品久久久久香蕉网 | 亚洲成色www久久网站 | 综合人妻久久一区二区精品 | 青草视频在线播放 | 国产亚洲精品精品国产亚洲综合 | 国产激情一区二区三区 | 国产精品无套呻吟在线 | 男人和女人高潮免费网站 | 精品久久久久久亚洲精品 | aⅴ亚洲 日韩 色 图网站 播放 | 久久久久se色偷偷亚洲精品av | 成人aaa片一区国产精品 | 色五月丁香五月综合五月 | 国产人成高清在线视频99最全资源 | 乱人伦人妻中文字幕无码久久网 | 亚洲成a人一区二区三区 | 欧洲精品码一区二区三区免费看 | 亚洲日韩一区二区三区 | 亚洲呦女专区 | 久久99热只有频精品8 | 国产9 9在线 | 中文 | 激情内射亚州一区二区三区爱妻 | 日韩人妻少妇一区二区三区 | 国产精品久久久av久久久 | 清纯唯美经典一区二区 | 人人妻人人澡人人爽欧美一区九九 | 国产熟妇另类久久久久 | 欧美丰满老熟妇xxxxx性 | 国产女主播喷水视频在线观看 | 男人扒开女人内裤强吻桶进去 | 亚洲呦女专区 | 日韩无码专区 | 国内少妇偷人精品视频免费 | 精品久久8x国产免费观看 | 国产亚洲欧美日韩亚洲中文色 | 久久精品中文字幕一区 | 男人和女人高潮免费网站 | 夜夜夜高潮夜夜爽夜夜爰爰 | 日本乱偷人妻中文字幕 | 人妻无码αv中文字幕久久琪琪布 | 亚洲精品久久久久久久久久久 | 亚洲另类伦春色综合小说 | 欧美三级a做爰在线观看 | 人妻插b视频一区二区三区 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 中文字幕无码免费久久9一区9 | 在线亚洲高清揄拍自拍一品区 | 国产无套粉嫩白浆在线 | 欧美日韩视频无码一区二区三 | 伊在人天堂亚洲香蕉精品区 | 国产sm调教视频在线观看 | 好爽又高潮了毛片免费下载 | 3d动漫精品啪啪一区二区中 | 初尝人妻少妇中文字幕 | 国产人妻精品一区二区三区 | 亚洲国产精品毛片av不卡在线 | 一本久道久久综合狠狠爱 | 欧美人与禽猛交狂配 | 日欧一片内射va在线影院 | 亚洲色欲色欲欲www在线 | 天天躁日日躁狠狠躁免费麻豆 | 亚洲一区二区三区在线观看网站 | 伊在人天堂亚洲香蕉精品区 | 中文字幕无码免费久久99 | 国产精品怡红院永久免费 | 色婷婷综合激情综在线播放 | 狠狠色噜噜狠狠狠7777奇米 | 熟妇人妻中文av无码 | 国产精品久久久av久久久 | 亚无码乱人伦一区二区 | 熟女少妇人妻中文字幕 | 国产av剧情md精品麻豆 | 亚洲国产精品毛片av不卡在线 | 欧美丰满熟妇xxxx | 亚洲国产精品久久久天堂 | 丰满诱人的人妻3 | 午夜时刻免费入口 | 欧美 日韩 人妻 高清 中文 | 国产成人无码午夜视频在线观看 | 野外少妇愉情中文字幕 | 免费网站看v片在线18禁无码 | 蜜桃av抽搐高潮一区二区 | 欧美人与物videos另类 | 亚洲阿v天堂在线 | 伊在人天堂亚洲香蕉精品区 | 国产真人无遮挡作爱免费视频 | 内射欧美老妇wbb | 人妻体内射精一区二区三四 | 男人和女人高潮免费网站 | 欧美亚洲日韩国产人成在线播放 | 一本久道久久综合狠狠爱 | 国产一区二区三区精品视频 | 国产无套粉嫩白浆在线 | 波多野结衣 黑人 | 亚洲人成网站免费播放 | 正在播放东北夫妻内射 | 国产在线aaa片一区二区99 | 欧洲精品码一区二区三区免费看 | 亚洲男人av香蕉爽爽爽爽 | 精品国产一区二区三区四区 | 国产亚洲人成a在线v网站 | 日韩视频 中文字幕 视频一区 | 久久www免费人成人片 | 亚洲区小说区激情区图片区 | 国产精品嫩草久久久久 | 国产黄在线观看免费观看不卡 | 暴力强奷在线播放无码 | 亚洲一区二区三区 | 日本精品少妇一区二区三区 | 99久久精品日本一区二区免费 | 成人无码视频免费播放 | 欧美35页视频在线观看 | 免费乱码人妻系列无码专区 | 久久久久久av无码免费看大片 | 国产99久久精品一区二区 | 性欧美大战久久久久久久 | www一区二区www免费 | 国产午夜亚洲精品不卡 | 大色综合色综合网站 | 国产熟女一区二区三区四区五区 | 亚洲综合在线一区二区三区 | 男人扒开女人内裤强吻桶进去 | 狠狠色噜噜狠狠狠狠7777米奇 | 亚洲精品久久久久中文第一幕 | 2020最新国产自产精品 | 高潮喷水的毛片 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 欧美精品无码一区二区三区 | 国产激情无码一区二区 | 国产美女极度色诱视频www | 牲欲强的熟妇农村老妇女 | 人人澡人人妻人人爽人人蜜桃 | 日韩亚洲欧美中文高清在线 | 蜜桃臀无码内射一区二区三区 | 少妇激情av一区二区 | 欧美精品国产综合久久 | av无码久久久久不卡免费网站 | 少妇太爽了在线观看 | 无遮挡国产高潮视频免费观看 | 日本爽爽爽爽爽爽在线观看免 | 国色天香社区在线视频 | 国产成人久久精品流白浆 | 大胆欧美熟妇xx | 久久无码中文字幕免费影院蜜桃 | 国产精品对白交换视频 | 精品人妻人人做人人爽夜夜爽 | 欧美日韩亚洲国产精品 | 国产精品va在线播放 | 国产亚av手机在线观看 | 日韩人妻无码中文字幕视频 | 亚洲精品一区三区三区在线观看 | 永久免费观看美女裸体的网站 | 亚洲精品无码国产 | 狠狠躁日日躁夜夜躁2020 | 中文毛片无遮挡高清免费 | 欧美一区二区三区视频在线观看 | 亚洲小说图区综合在线 | 日韩精品一区二区av在线 | 亚洲国产欧美在线成人 | 玩弄少妇高潮ⅹxxxyw | 欧美第一黄网免费网站 | 国内精品久久久久久中文字幕 | 亚洲国产欧美国产综合一区 | 伊人久久婷婷五月综合97色 | 日韩av无码一区二区三区 | 亚洲成a人片在线观看日本 | 99在线 | 亚洲 | 在线看片无码永久免费视频 | 婷婷色婷婷开心五月四房播播 | 国内精品人妻无码久久久影院 | 亚洲综合在线一区二区三区 | 国内老熟妇对白xxxxhd | 无码国产激情在线观看 | 97久久精品无码一区二区 | 欧美放荡的少妇 | 精品人妻人人做人人爽夜夜爽 | 99久久人妻精品免费二区 | 中文字幕无码免费久久9一区9 | 日韩在线不卡免费视频一区 | 丁香花在线影院观看在线播放 | 精品人人妻人人澡人人爽人人 | 中文字幕无码乱人伦 | 欧美老熟妇乱xxxxx | 亚洲 另类 在线 欧美 制服 | 纯爱无遮挡h肉动漫在线播放 | 久久精品女人天堂av免费观看 | 亚洲a无码综合a国产av中文 | 老子影院午夜伦不卡 | 在线观看免费人成视频 | 55夜色66夜色国产精品视频 | 色五月丁香五月综合五月 | 亚洲成a人片在线观看无码3d | 亚洲日韩乱码中文无码蜜桃臀网站 | 天堂а√在线地址中文在线 | 久久综合给久久狠狠97色 | 日韩欧美群交p片內射中文 | 丝袜 中出 制服 人妻 美腿 | 日韩人妻无码一区二区三区久久99 | 久久亚洲中文字幕精品一区 | 国产精品高潮呻吟av久久4虎 | 亚洲另类伦春色综合小说 | 人人澡人人妻人人爽人人蜜桃 | 精品一区二区三区无码免费视频 | 亚洲国产欧美日韩精品一区二区三区 | 少女韩国电视剧在线观看完整 | 天天躁日日躁狠狠躁免费麻豆 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 九九久久精品国产免费看小说 | 日本护士xxxxhd少妇 | 精品亚洲韩国一区二区三区 | 亚洲中文字幕无码一久久区 | 1000部啪啪未满十八勿入下载 | 特级做a爰片毛片免费69 | 免费国产成人高清在线观看网站 | 日韩欧美群交p片內射中文 | 成人欧美一区二区三区黑人免费 | 99在线 | 亚洲 | 国产一区二区三区精品视频 | 日韩精品a片一区二区三区妖精 | 日本熟妇乱子伦xxxx | 美女极度色诱视频国产 | v一区无码内射国产 | 亚洲精品国产精品乱码视色 | 99re在线播放 | 噜噜噜亚洲色成人网站 | 色妞www精品免费视频 | 四虎永久在线精品免费网址 | 成人精品天堂一区二区三区 | 日韩av激情在线观看 | 国产乱人伦偷精品视频 | 中文无码伦av中文字幕 | 欧美一区二区三区视频在线观看 | 日本欧美一区二区三区乱码 | 国产一区二区三区影院 | 国产另类ts人妖一区二区 | 色婷婷av一区二区三区之红樱桃 | 丰满少妇熟乱xxxxx视频 | 欧美人与物videos另类 | 麻花豆传媒剧国产免费mv在线 | 人人妻人人澡人人爽精品欧美 | 久热国产vs视频在线观看 | 玩弄人妻少妇500系列视频 | 欧美精品一区二区精品久久 | 999久久久国产精品消防器材 | 亚洲精品中文字幕 | 欧美黑人乱大交 | 久久精品国产精品国产精品污 | 国精品人妻无码一区二区三区蜜柚 | 综合激情五月综合激情五月激情1 | 呦交小u女精品视频 | 国产人妻精品一区二区三区 | 久久久www成人免费毛片 | 一本久久伊人热热精品中文字幕 | 麻豆国产丝袜白领秘书在线观看 | 少妇无码吹潮 | 少女韩国电视剧在线观看完整 | 精品厕所偷拍各类美女tp嘘嘘 | 黑人玩弄人妻中文在线 | 日本精品人妻无码77777 天堂一区人妻无码 | 婷婷色婷婷开心五月四房播播 | 精品 日韩 国产 欧美 视频 | 国产精品人妻一区二区三区四 | 九九久久精品国产免费看小说 | 日韩少妇内射免费播放 | 又大又黄又粗又爽的免费视频 | 男人扒开女人内裤强吻桶进去 | a国产一区二区免费入口 | 无码成人精品区在线观看 | 人人爽人人爽人人片av亚洲 | 亚洲精品国产第一综合99久久 | 亚洲精品久久久久中文第一幕 | 国产口爆吞精在线视频 | 国产人妻精品一区二区三区不卡 | 国产精品久久精品三级 | 一本久久a久久精品vr综合 | 5858s亚洲色大成网站www | 俺去俺来也在线www色官网 | 成人无码影片精品久久久 | 熟女俱乐部五十路六十路av | 精品国产国产综合精品 | 天天做天天爱天天爽综合网 | 天海翼激烈高潮到腰振不止 | 久久99精品国产麻豆 | 精品国产成人一区二区三区 | 又紧又大又爽精品一区二区 | 久久久婷婷五月亚洲97号色 | 国产精品久久久久久亚洲毛片 | 欧美精品一区二区精品久久 | 无码人妻av免费一区二区三区 | 国内精品九九久久久精品 | 狠狠噜狠狠狠狠丁香五月 | 中文字幕乱妇无码av在线 | 国产精品亚洲五月天高清 | 国产精品99爱免费视频 | 国产偷抇久久精品a片69 | 国产免费久久精品国产传媒 | 女人和拘做爰正片视频 | 人妻互换免费中文字幕 | 久久久久久国产精品无码下载 | 永久免费精品精品永久-夜色 | 97无码免费人妻超级碰碰夜夜 | 纯爱无遮挡h肉动漫在线播放 | 国产熟女一区二区三区四区五区 | 国产综合在线观看 | 天堂亚洲2017在线观看 | 亚洲va欧美va天堂v国产综合 | 国产成人无码区免费内射一片色欲 | 中国女人内谢69xxxxxa片 | 乱码午夜-极国产极内射 | 永久免费观看国产裸体美女 | 国产精品视频免费播放 | 精品无码一区二区三区爱欲 | 精品国产麻豆免费人成网站 | 天堂а√在线地址中文在线 | 中文字幕av日韩精品一区二区 | 又色又爽又黄的美女裸体网站 | 亚洲中文字幕无码一久久区 | 国产一区二区三区四区五区加勒比 | 在线看片无码永久免费视频 | 久久精品国产大片免费观看 | 色综合久久久久综合一本到桃花网 | 67194成是人免费无码 | 在线 国产 欧美 亚洲 天堂 | 亚洲国产精品一区二区第一页 | 国产精品99爱免费视频 | 人人妻人人澡人人爽欧美一区九九 | 亚洲国产精品无码久久久久高潮 | 激情综合激情五月俺也去 | 精品久久久久久亚洲精品 | 亚洲一区二区三区偷拍女厕 | 野狼第一精品社区 | 日韩精品无码一本二本三本色 | 伦伦影院午夜理论片 | 又大又黄又粗又爽的免费视频 | 国产精品无码成人午夜电影 | 色欲人妻aaaaaaa无码 | 久久精品成人欧美大片 | 中文字幕无码人妻少妇免费 | 1000部夫妻午夜免费 | 国产午夜福利亚洲第一 | 无码国产色欲xxxxx视频 | 狠狠躁日日躁夜夜躁2020 | 狠狠色欧美亚洲狠狠色www | 亚洲娇小与黑人巨大交 | 中文字幕无码热在线视频 | 亚洲成色www久久网站 | www国产亚洲精品久久久日本 | 亚洲精品一区二区三区在线 | 日本xxxx色视频在线观看免费 | 内射爽无广熟女亚洲 | 中文字幕精品av一区二区五区 | 日韩精品久久久肉伦网站 | 亚洲色大成网站www国产 | 少妇被黑人到高潮喷出白浆 | 秋霞成人午夜鲁丝一区二区三区 | 成人欧美一区二区三区黑人免费 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | av小次郎收藏 | 国产黄在线观看免费观看不卡 | 四十如虎的丰满熟妇啪啪 | 老头边吃奶边弄进去呻吟 | 色欲av亚洲一区无码少妇 | 玩弄人妻少妇500系列视频 | 欧美精品在线观看 | 久久久久国色av免费观看性色 | 131美女爱做视频 | 欧美成人午夜精品久久久 | 亚洲日韩精品欧美一区二区 | 无码人妻av免费一区二区三区 | 亚洲精品成a人在线观看 | 狠狠噜狠狠狠狠丁香五月 | 日产国产精品亚洲系列 | √8天堂资源地址中文在线 | 内射爽无广熟女亚洲 | 水蜜桃av无码 | a在线观看免费网站大全 | 精品无码一区二区三区的天堂 | 偷窥日本少妇撒尿chinese | 麻豆蜜桃av蜜臀av色欲av | 97se亚洲精品一区 | 国产成人亚洲综合无码 | 丰满人妻一区二区三区免费视频 | 国产午夜无码精品免费看 | 亚洲中文字幕乱码av波多ji | 国产亚洲欧美日韩亚洲中文色 | 成人毛片一区二区 | 波多野结衣一区二区三区av免费 | 亚洲国产精品无码一区二区三区 | 免费人成在线观看网站 | 欧美国产亚洲日韩在线二区 | 国产69精品久久久久app下载 | 久久精品国产99精品亚洲 | 夜夜夜高潮夜夜爽夜夜爰爰 | 巨爆乳无码视频在线观看 | 97色伦图片97综合影院 | 国产黄在线观看免费观看不卡 | 丝袜人妻一区二区三区 | 99久久婷婷国产综合精品青草免费 | 欧美 日韩 人妻 高清 中文 | 亚洲s色大片在线观看 | 国产明星裸体无码xxxx视频 | 国产亚洲精品久久久ai换 | 激情综合激情五月俺也去 | 精品欧洲av无码一区二区三区 | 美女极度色诱视频国产 | 亚洲一区二区三区 | 精品国产麻豆免费人成网站 | 老司机亚洲精品影院 | 天下第一社区视频www日本 | 亚洲精品一区三区三区在线观看 | 又紧又大又爽精品一区二区 | 国产精品第一区揄拍无码 | 国产精品亚洲а∨无码播放麻豆 | 色婷婷久久一区二区三区麻豆 | 色狠狠av一区二区三区 | 久久伊人色av天堂九九小黄鸭 | 激情国产av做激情国产爱 | 人妻少妇精品视频专区 | 夜夜夜高潮夜夜爽夜夜爰爰 | 香港三级日本三级妇三级 | 国产精品无码永久免费888 | 国产亚洲精品久久久ai换 | 精品亚洲韩国一区二区三区 | 初尝人妻少妇中文字幕 | 亚洲 另类 在线 欧美 制服 | 亚洲第一无码av无码专区 | 日本护士毛茸茸高潮 | 中文亚洲成a人片在线观看 | 欧洲欧美人成视频在线 | 欧美午夜特黄aaaaaa片 | 国产超碰人人爽人人做人人添 | 暴力强奷在线播放无码 | 无码成人精品区在线观看 | 久久视频在线观看精品 | 午夜肉伦伦影院 | 亚洲精品久久久久久久久久久 | 久久精品丝袜高跟鞋 | 亚洲精品无码人妻无码 | 成人无码精品一区二区三区 | 欧美国产日产一区二区 | 少妇性l交大片欧洲热妇乱xxx | 麻豆蜜桃av蜜臀av色欲av | 精品一二三区久久aaa片 | 在线精品国产一区二区三区 | 乱码av麻豆丝袜熟女系列 | 久久国产36精品色熟妇 | 亚洲精品无码国产 | 啦啦啦www在线观看免费视频 | 欧美野外疯狂做受xxxx高潮 | 四虎影视成人永久免费观看视频 | 免费无码午夜福利片69 | 色欲久久久天天天综合网精品 | 日韩少妇白浆无码系列 | 亚洲爆乳大丰满无码专区 | 亚洲日韩av片在线观看 | 国产精品欧美成人 | 18禁止看的免费污网站 | 99精品无人区乱码1区2区3区 | 国产麻豆精品一区二区三区v视界 | 国产亚洲欧美在线专区 | 精品欧美一区二区三区久久久 | 国产精品无套呻吟在线 | 日韩少妇白浆无码系列 | 亚洲精品国产第一综合99久久 | 国产乱码精品一品二品 | 亚洲男人av香蕉爽爽爽爽 | 久久久成人毛片无码 | 亚洲色欲色欲天天天www | 午夜福利电影 | 乱人伦中文视频在线观看 | 亚洲春色在线视频 | 国产精品久久久久久久9999 | 国产无av码在线观看 | 老熟妇乱子伦牲交视频 | 欧美国产日韩亚洲中文 | 无码成人精品区在线观看 | 麻豆国产97在线 | 欧洲 | 国产特级毛片aaaaaa高潮流水 | 亚拍精品一区二区三区探花 | 波多野结衣一区二区三区av免费 | 鲁鲁鲁爽爽爽在线视频观看 | 亚洲一区二区三区香蕉 | 97色伦图片97综合影院 | 国产av一区二区精品久久凹凸 | 亚洲成熟女人毛毛耸耸多 | 一个人免费观看的www视频 | 性色欲网站人妻丰满中文久久不卡 | 国产av无码专区亚洲a∨毛片 | 少妇被黑人到高潮喷出白浆 | 色狠狠av一区二区三区 | 欧美一区二区三区视频在线观看 | 日韩欧美成人免费观看 | 国语自产偷拍精品视频偷 | 久久久久久av无码免费看大片 | 老司机亚洲精品影院 | 国产精品高潮呻吟av久久 | 日韩少妇内射免费播放 | 国产精品爱久久久久久久 | 亚洲国产精品美女久久久久 | 97久久超碰中文字幕 | 好男人www社区 | 无码人妻丰满熟妇区毛片18 | 日本精品高清一区二区 | av无码电影一区二区三区 | 风流少妇按摩来高潮 | 少妇久久久久久人妻无码 | 一本久久a久久精品亚洲 | 少妇性俱乐部纵欲狂欢电影 | 曰韩少妇内射免费播放 | 成人无码视频在线观看网站 | 成人欧美一区二区三区黑人免费 | 玩弄中年熟妇正在播放 | 久久久精品成人免费观看 | 人妻少妇精品久久 | 精品无码成人片一区二区98 | 中文字幕无线码免费人妻 | 又紧又大又爽精品一区二区 | 内射白嫩少妇超碰 | 人妻有码中文字幕在线 | 色综合视频一区二区三区 | 骚片av蜜桃精品一区 | 帮老师解开蕾丝奶罩吸乳网站 | 日韩人妻无码一区二区三区久久99 | 国产精品无码一区二区三区不卡 | 色婷婷av一区二区三区之红樱桃 | 在线天堂新版最新版在线8 | 图片区 小说区 区 亚洲五月 | 日本饥渴人妻欲求不满 | 久久久久久av无码免费看大片 | 亚洲欧美精品aaaaaa片 | 无码人妻出轨黑人中文字幕 | 日韩精品无码免费一区二区三区 | av人摸人人人澡人人超碰下载 | 精品无码国产自产拍在线观看蜜 | 亚洲自偷自拍另类第1页 | 久久午夜夜伦鲁鲁片无码免费 | 国产精品久久久久久久9999 | 成人aaa片一区国产精品 | 老子影院午夜精品无码 | 亚洲中文字幕在线观看 | 国产美女精品一区二区三区 | 中文字幕人妻无码一夲道 | 国产综合色产在线精品 | 久久久久久九九精品久 | 丰满少妇高潮惨叫视频 | 亚洲综合色区中文字幕 | 亚洲春色在线视频 | 中国大陆精品视频xxxx | 精品久久久久香蕉网 | 国产精品久久国产精品99 | 欧美成人高清在线播放 | av人摸人人人澡人人超碰下载 | 亚洲精品国产a久久久久久 | 女人被男人躁得好爽免费视频 | 国产精品永久免费视频 | 精品国产av色一区二区深夜久久 | 国精产品一品二品国精品69xx | 又大又硬又黄的免费视频 | 亚洲日韩精品欧美一区二区 | 麻花豆传媒剧国产免费mv在线 | 国产色在线 | 国产 | 青青青手机频在线观看 | 久久国产精品萌白酱免费 | 国产内射老熟女aaaa | 毛片内射-百度 | 成人精品视频一区二区三区尤物 | 成人精品一区二区三区中文字幕 | 午夜无码人妻av大片色欲 | 欧美日韩色另类综合 | 久久99国产综合精品 | 少妇愉情理伦片bd | 午夜肉伦伦影院 | 蜜臀aⅴ国产精品久久久国产老师 | 亚洲精品国产精品乱码视色 | 亚洲另类伦春色综合小说 | 久久国产精品精品国产色婷婷 | 国产极品美女高潮无套在线观看 | 亚洲欧美色中文字幕在线 | 国产无遮挡吃胸膜奶免费看 | 一区二区传媒有限公司 | 国产精品爱久久久久久久 | 永久免费观看美女裸体的网站 | 日本在线高清不卡免费播放 | 亚洲中文字幕无码中字 | 永久免费观看国产裸体美女 | 亚无码乱人伦一区二区 | 久久精品国产一区二区三区肥胖 | 国产一区二区三区四区五区加勒比 | 久久 国产 尿 小便 嘘嘘 | 欧美日本日韩 | 成人三级无码视频在线观看 | 国产午夜亚洲精品不卡 | 国产xxx69麻豆国语对白 | 天天拍夜夜添久久精品 | 亚洲欧美国产精品久久 | 国产熟女一区二区三区四区五区 | 国产一区二区不卡老阿姨 | 无码国产色欲xxxxx视频 | 亚洲色欲色欲欲www在线 | 欧美乱妇无乱码大黄a片 | 成人精品视频一区二区 | 六十路熟妇乱子伦 | 无码国模国产在线观看 | a片在线免费观看 | 国产内射爽爽大片视频社区在线 | 久久99精品久久久久久 | 成人性做爰aaa片免费看 | 久久精品一区二区三区四区 | 亚洲色欲久久久综合网东京热 | а√资源新版在线天堂 | 丰满少妇人妻久久久久久 | 无码精品国产va在线观看dvd | 老司机亚洲精品影院无码 | 18精品久久久无码午夜福利 | 日本一区二区三区免费播放 | 久久亚洲精品中文字幕无男同 | 亚洲成a人一区二区三区 | 亚洲成a人片在线观看无码3d | 欧美日韩视频无码一区二区三 | 熟妇女人妻丰满少妇中文字幕 | 精品无码一区二区三区爱欲 | 狠狠cao日日穞夜夜穞av | 欧美老妇与禽交 | 18无码粉嫩小泬无套在线观看 | 中文字幕人成乱码熟女app | 亚洲精品成人福利网站 | 内射巨臀欧美在线视频 | 亚洲日本va午夜在线电影 | 亚洲日韩av片在线观看 | 久久无码人妻影院 | 亚洲伊人久久精品影院 | 午夜无码人妻av大片色欲 | 亚洲精品一区三区三区在线观看 | 成在人线av无码免观看麻豆 | 狠狠色欧美亚洲狠狠色www | 亚拍精品一区二区三区探花 | 亚洲小说春色综合另类 | 久久久av男人的天堂 | 亚洲国产精品久久久久久 | 欧美成人免费全部网站 | 国产两女互慰高潮视频在线观看 | 中文字幕无码av激情不卡 | 激情亚洲一区国产精品 | 精品人人妻人人澡人人爽人人 | 亚洲国产精品无码久久久久高潮 | 欧美肥老太牲交大战 | 未满成年国产在线观看 | 国产成人综合在线女婷五月99播放 | 俺去俺来也在线www色官网 | 欧美阿v高清资源不卡在线播放 | 国产香蕉97碰碰久久人人 | 中文字幕日韩精品一区二区三区 | 草草网站影院白丝内射 | 亚洲中文字幕在线无码一区二区 | 欧美日本精品一区二区三区 | 亚洲中文字幕无码中文字在线 | 粗大的内捧猛烈进出视频 | 狠狠噜狠狠狠狠丁香五月 | 日本高清一区免费中文视频 | 久久综合激激的五月天 | 久久久久久九九精品久 | 中文字幕人妻丝袜二区 | 日韩少妇白浆无码系列 | 国产亚洲视频中文字幕97精品 | 午夜成人1000部免费视频 | 国产精品18久久久久久麻辣 | 亚洲一区二区三区在线观看网站 | 青青青手机频在线观看 | 综合网日日天干夜夜久久 |