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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Docker学习笔记 (狂神说)

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

狂神視頻地址:https://www.bilibili.com/video/BV1og4y1q7M4
已經有人寫過此視頻的學習文檔了,
地址:https://blog.csdn.net/weixin_44517301/article/details/121486489
但由于時間原因,部分命令已經不能使用,因此發布此篇

Docker概述

Docker為什么出現

一款產品: 開發–上線 兩套環境!應用環境,應用配置!

開發 — 運維。 問題:我在我的電腦上可以運行!版本更新,導致服務不可用!對于運維來說考驗十分大!

環境配置是十分的麻煩,每一個機器都要部署環境(Redis、ES、Hadoop…) !費事費力。

發布一個項目( jar + (Redis+MySQL+jdk+ES) ),項目能不能帶上環境安裝打包

之前在服務器配置一個應用的環境 Redis MySQL JDK ES Hadoop 配置超麻煩了,不能夠跨平臺。

開發環境Windows,最后發布到Linux!

傳統:開發做成jar包,運維來做部署!

現在:開發打包部署上線,一套流程做完!

安卓流程:java — apk —發布(應用商店) 張三使用apk 一 安裝即可用!

docker流程: java-jar(環境) — 打包項目帯上環境(鏡像)— 發布( Docker倉庫:商店)----- 下載我們發布的鏡像—直接運行即可

Docker給以上的問題,提出了解決方案!

Docker的思想就來自于集裝箱!

jre 中多個應用(可能端口沖突) – 因為都是交叉的!
隔離:Docker核心思想!打包裝箱!每個箱子是互相隔離的。

Docker通過隔離機制,可以將服務器利用到極致!

Docker歷史

2010年,幾個年輕人,在美國成立了一家公司 dotcloud

做一些pass的云計算服務!LXC(Linux Container容器)有關的容器技術!

Linux Container容器是一種內核虛擬化技術,可以提供輕量級的虛擬化,以便隔離進程和資源。

他們將自己的技術(容器化技術)命名就是 Docker

Docker剛剛延生的時候,沒有引起行業的注意!

2013年,Docker開源!

越來越多的人發現docker的優點!火了。Docker每個月都會更新一個版本!

2014年4月9日,Docker1.0發布!

docker為什么這么火?十分的輕巧!

在容器技術出來之前,我們都是使用虛擬機技術!

虛擬機:在window中裝一個VMware,通過這個軟件我們可以虛擬出來一臺或者多臺電腦!笨重!

虛擬機也屬于虛擬化技術,Docker容器技術,也是一種虛擬化技術!

VMware : linux centos 原生鏡像(一個電腦!) 隔離、需要開啟多個虛擬機! 幾個G,幾分鐘 docker: 隔離,鏡像(最核心的環境 4m + jdk + mysql)十分的小巧,運行鏡像就可以了!小巧! 幾個M,秒級啟動!

Docker基于Go語言開發的!開源項目!

docker官網:https://www.docker.com/

文檔:https://docs.docker.com/ Docker的文檔是超級詳細的!

倉庫:https://hub.docker.com/

Docker能做什么

之前的虛擬機技術

虛擬機技術缺點

1、 資源占用十分多

2、 冗余步驟多

3、 啟動很慢!

容器化技術

容器化技術不是模擬一個完整的操作系統!!!

比較Docker和虛擬機技術的不同:

  • 傳統虛擬機,虛擬出一套硬件,運行一個完整的操作系統,然后在這個系統上安裝和運行軟件
  • 容器內的應用直接運行在宿主機的內容,容器是沒有自己的內核的,也沒有虛擬我們的硬件,所以就輕便了
  • 每個容器間是互相隔離,每個容器內都有一個屬于自己的文件系統,互不影響

應用更快速的交付和部署

傳統:一對幫助文檔,安裝程序。

Docker:打包鏡像發布測試一鍵運行。

更便捷的升級和擴縮容

使用了 Docker之后,我們部署應用就和搭積木一樣
項目打包為一個鏡像,擴展服務器A!服務器B

更簡單的系統運維
在容器化之后,我們的開發,測試環境都是高度一致的

更高效的計算資源利用

Docker是內核級別的虛擬化,可以在一個物理機上可以運行很多的容器實例!服務器的性能可以被壓榨到極致。

Docker安裝

Docker的基本組成

鏡像(image):

docker鏡像就好比是一個模板,可以通過這個目標來創建容器服務,tomcat鏡像==>run(運行)==>容器(提供服務器),通過這個鏡像可以創建多個容器(最終服務運行或者項目運行就是在容器中的)。

容器(container):

Docker利用容器技術,獨立運行一個或者一組應用,通過鏡像來創建的.
啟動,停止,刪除,基本命令
目前就可以把這個容器理解為就是一個簡易的 Linux系統。

倉庫(repository):

倉庫就是存放鏡像的地方!
倉庫分為公有倉庫和私有倉庫。(類似git)
Docker Hub是國外的。
阿里云、騰訊云都有容器服務器(配置鏡像加速!)

Docker安裝(CentOS 7)

環境準備

  • Linux要求內核3.0以上

  • CentOS 7

  • # 系統內核要求3.0以上 [root@VM-4-17-centos ~]# uname -r 3.10.0-1160.66.1.el7.x86_64[root@VM-4-17-centos ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"

    安裝

    幫助文檔:https://docs.docker.com/engine/install/

    卸載與安裝

    #1.卸載舊版本 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine #2.需要的安裝包 yum install -y yum-utils#3.設置鏡像的倉庫 yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo #上述方法默認是從國外的,不推薦#推薦使用國內的 yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#更新yum軟件包索引 yum makecache fast#4.安裝docker相關的 docker-ce 社區版 而ee是企業版 yum install docker-ce docker-ce-cli containerd.io # 這里我們使用社區版即可#5.啟動docker systemctl start docker#6. 使用docker version查看是否按照成功 docker version#7. 測試 docker run hello-world#8.查看已經下載的鏡像(從這里可以查看已有鏡像的id) [root@iz2zeak7sgj6i7hrb2g862z ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest feb5d9fea6a5 12 months ago 13.3kB

    卸載Docker

    #1. 卸載依賴 yum remove docker-ce docker-ce-cli containerd.io #2. 刪除資源 rm -rf /var/lib/docker # /var/lib/docker 是docker的默認工作路徑!

    回顧HelloWorld流程

    docker run 流程圖

    底層原理

    Docker是怎么工作的

    Docker是一個Client-Server結構的系統,Docker的守護進程運行在主機上。通過Socket從客戶端訪問!

    Docker-Server接收到Docker-Client的指令,就會執行這個命令!


    為什么Docker比Vm快

    1、docker有著比虛擬機更少的抽象層。

    ? 由于docker不需要Hypervisor實現硬件資源虛擬化,運行在docker容器上的程序直接使用的都是實際物理機的硬件資源。因此在CPU、內存利用率上docker將會在效率上有明顯優勢。
    2、docker利用的是宿主機的內核,而不需要Guest OS。

    GuestOS: VM(虛擬機)里的的系統(OS)HostOS:物理機里的系統(OS)

    因此,當新建一個 容器時,docker不需要和虛擬機一樣重新加載一個操作系統內核。

    當新建一個虛擬機時,虛擬機軟件需要加載GuestOS,這個新建過程是分鐘級別的。

    而docker由于直接利用宿主機的操作系統,則省略了這個復雜的過程,因此新建一個docker容器只需要幾秒鐘。

    Docker的常用命令

    1、幫助命令

    docker version #顯示docker的版本信息。 docker info #顯示docker的系統信息,包括鏡像和容器的數量 docker 命令 --help #幫助命令

    幫助文檔的地址:https://docs.docker.com/engine/reference/commandline/build/

    2、鏡像命令

    docker images查看所有本地的主機上的鏡像

    [root@VM-4-17-centos ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest feb5d9fea6a5 12 months ago 13.3kB# 解釋 #REPOSITORY # 鏡像的倉庫源 #TAG # 鏡像的標簽(版本) ---lastest 表示最新版本 #IMAGE ID # 鏡像的id #CREATED # 鏡像的創建時間 #SIZE # 鏡像的大小# 可選項 Options:-a, --all Show all images (default hides intermediate images) #列出所有鏡像-q, --quiet Only show numeric IDs # 只顯示鏡像的id[root@VM-4-17-centos ~]# docker images -a REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest feb5d9fea6a5 12 months ago 13.3kB [root@VM-4-17-centos ~]# docker images -aq feb5d9fea6a5

    docker search 搜索鏡像

    [root@VM-4-17-centos ~]# docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relation… 13234 [OK] mariadb MariaDB Server is a high performing open sou… 5062 [OK] phpmyadmin phpMyAdmin - A web interface for MySQL and M… 640 [OK] percona Percona Server is a fork of the MySQL relati… 588 [OK] bitnami/mysql Bitnami MySQL Docker Image 77 [OK] databack/mysql-backup Back up mysql databases to... anywhere! 70 linuxserver/mysql-workbench 44 linuxserver/mysql A Mysql container, brought to you by LinuxSe… 37 ubuntu/mysql MySQL open source fast, stable, multi-thread… 36 circleci/mysql MySQL is a widely used, open-source relation… 27 google/mysql MySQL server for Google Compute Engine 21 [OK] rapidfort/mysql RapidFort optimized, hardened image for MySQL 13 bitnami/mysqld-exporter 3 ibmcom/mysql-s390x Docker image for mysql-s390x 2 newrelic/mysql-plugin New Relic Plugin for monitoring MySQL databa… 1 [OK] vitess/mysqlctld vitess/mysqlctld 1 [OK] hashicorp/mysql-portworx-demo 0 docksal/mysql MySQL service images for Docksal - https://d… 0 mirantis/mysql 0 cimg/mysql 0 drud/mysql 0 silintl/mysql-backup-restore Simple docker image to perform mysql backups… 0 [OK] corpusops/mysql https://github.com/corpusops/docker-images/ 0 drud/mysql-local-57 ddev mysql local container 0 drud/mysql-docker-local-57 This repo has been deprecated, new tags are … 0 # --filter=STARS=3000 #過濾,搜索出來的鏡像收藏STARS數量大于3000的 Options:-f, --filter filter Filter output based on conditions provided--format string Pretty-print search using a Go template--limit int Max number of search results (default 25)--no-trunc Don't truncate output[root@VM-4-17-centos ~]# docker search mysql --filter=STARS=3000 NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relation… 13234 [OK] mariadb MariaDB Server is a high performing open sou… 5062 [OK]

    docker pull 下載鏡像

    # 下載鏡像 docker pull 鏡像名[:tag] [root@VM-4-17-centos ~]# docker pull mysql Using default tag: latest latest: Pulling from library/mysql #如果不寫tag,默認就是latest 051f419db9dd: Pull complete #分層下載: docker image 的核心 聯合文件系統 7627573fa82a: Pull complete a44b358d7796: Pull complete 95753aff4b95: Pull complete a1fa3bee53f4: Pull complete f5227e0d612c: Pull complete b4b4368b1983: Pull complete f26212810c32: Pull complete d803d4215f95: Pull complete d5358a7f7d07: Pull complete 435e8908cd69: Pull complete Digest: sha256:b9532b1edea72b6cee12d9f5a78547bd3812ea5db842566e17f8b33291ed2921 #簽名 Status: Downloaded newer image for mysql:latest docker.io/library/mysql:latest #真實地址#以下兩條命令等價 docker pull mysql docker pull docker.io/library/mysql:latest[root@VM-4-17-centos ~]# docker pull mysql:5.7 5.7: Pulling from library/mysql 90fe46dd8199: Already exists #分層下載: docker image 的核心 聯合文件系統 35a4f1977689: Already exists bbc37f14aded: Already exists 74e27dc593d4: Already exists 93a01fbfad7f: Already exists 3c9ea9927039: Pull complete dfb1b236c7fc: Pull complete e2ad62bd72a7: Pull complete Digest: sha256:94fe67a04001e9841f68f114c8e9b5231c1d012e6b00d3b8ade42c0c5e239a0f Status: Downloaded newer image for mysql:5.7 docker.io/library/mysql:5.7

    docker rmi 刪除鏡像

    docker rmi -f 鏡像id #刪除指定id的鏡像 docker rmi -f 鏡像id1 鏡像id2 鏡像id3 #刪除多個鏡像[root@VM-4-17-centos ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql 5.7 aa803eda0f25 11 days ago 433MB mysql latest 43fcfca0776d 2 weeks ago 449MB hello-world latest feb5d9fea6a5 12 months ago 13.3kB [root@VM-4-17-centos ~]# docker rmi aa803eda0f25 Untagged: mysql:5.7docker rmi -f $(docker images -aq) #刪除全部的鏡像

    3、容器命令

    說明:我們有了鏡像才可以創建容器,Linux,下載一個centos鏡像來學習

    docker pull centos[root@VM-4-17-centos ~]# docker pull centos Using default tag: latest latest: Pulling from library/centos a1d0c7532777: Pull complete Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 Status: Downloaded newer image for centos:latest docker.io/library/centos:latest

    新建容器并啟動

    docker run [可選參數] image | docker container run [可選參數] image #參書說明 --name="Name" #容器名字 tomcat01 tomcat02 用來區分容器 -d #后臺方式運行 -it #使用交互方式運行,進入容器查看內容 -p #指定容器的端口 -p 8080(宿主機):8080(容器)-p ip:主機端口:容器端口-p 主機端口:容器端口(常用)-p 容器端口容器端口 -P(大寫) 隨機指定端口# 測試、啟動并進入容器 [root@VM-4-17-centos ~]# docker run -it centos /bin/bash [root@fca965a8d399 /]# ls #查看內部的centos bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var [root@fca965a8d399 /]# exit #退回主機 exit

    列出所有運行的容器

    docker ps 命令 #列出當前正在運行的容器-a, --all #列出當前正在運行的容器 + 帶出歷史運行過的容器-n=?, --last int #列出最近創建的?個容器 ?為1則只列出最近創建的一個容器,為2則列出2個-q, --quiet #只列出容器的編號[root@VM-4-17-centos ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@VM-4-17-centos ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fca965a8d399 centos "/bin/bash" 5 minutes ago Exited (0) 5 minutes ago peaceful_matsumoto 75e65c92b2b8 feb5d9fea6a5 "/hello" 52 minutes ago Exited (0) 52 minutes ago eager_johnson de2f71289142 feb5d9fea6a5 "/hello" 12 days ago Exited (0) 12 days ago frosty_murdock [root@VM-4-17-centos ~]# docker ps -a -n=1 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fca965a8d399 centos "/bin/bash" 6 minutes ago Exited (0) 6 minutes ago peaceful_matsumoto [root@VM-4-17-centos ~]# docker ps -aq fca965a8d399 75e65c92b2b8 de2f71289142 [root@VM-4-17-centos ~]# docker ps -aq -n=2 fca965a8d399 75e65c92b2b8

    退出容器

    exit #容器直接退出 ctrl +P +Q #容器不停止退出 ---注意:這個很有用的操作[root@VM-4-17-centos ~]# docker run -it centos /bin/bash [root@a7cb8cdd3d32 /]# [root@VM-4-17-centos ~]#

    刪除容器

    docker rm 容器id #刪除指定的容器,不能刪除正在運行的容器,如果要強制刪除 rm -rf docker rm -f $(docker ps -aq) #刪除所有的容器 docker ps -a -q|xargs docker rm #刪除所有的容器

    啟動和停止容器的操作

    docker start 容器id #啟動容器 docker restart 容器id #重啟容器 docker stop 容器id #停止當前正在運行的容器 docker kill 容器id #強制停止當前容器

    4、常用其他命令

    后臺啟動命令

    # 命令 docker run -d 鏡像名 [root@VM-4-17-centos ~]# docker run -d centos c0c4edabe27667fe1834c86c40338680a3efc333c356f03e253c262e613a4a2f[root@VM-4-17-centos ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES# 問題docker ps. 發現centos停止了 # 常見的坑,docker容器使用后臺運行,就必須要有要一個前臺進程,docker發現沒有對外提供的應用,就會自動停止 # 例如nginx,容器啟動后,發現自己沒有提供服務,就會立刻停止,就是沒有程序了

    查看日志命令

    docker logs --help Options:--details Show extra details provided to logs * -f, --follow Follow log output--since string Show logs since timestamp (e.g. 2013-01-02T13:23:37) or relative (e.g. 42m for 42 minutes) * --tail string Number of lines to show from the end of the logs (default "all") * -t, --timestamps Show timestamps--until string Show logs before a timestamp (e.g. 2013-01-02T13:23:37) or relative (e.g. 42m for 42 minutes) ? ~ docker run -d centos /bin/sh -c "while true;do echo 6666;sleep 1;done" #模擬日志 #顯示日志 -tf #顯示日志信息(一直更新) --tail number #需要顯示number條日志 docker logs -t --tail n 容器id #查看n行日志 docker logs -ft 容器id #跟著日志

    查看容器中的進程信息

    docker top 容器id [root@VM-4-17-centos ~]# docker top 1f457dc49d6d UID PID PPID C STIME TTY root 11901 11882 0 14:35 ? root 13165 11901 0 14:39 ?

    查看鏡像的元數據

    docker inspect 容器id [root@VM-4-17-centos ~]# docker inspect 1f457dc49d6d [{"Id": "1f457dc49d6d9e4227284a1617b944b5307e7678aaa47e5a488425bcd056faf0","Created": "2022-10-07T06:35:17.033786362Z","Path": "/bin/sh","Args": ["-c","while true;do echo 6666;sleep 1; done"],"State": {"Status": "running","Running": true,"Paused": false,"Restarting": false,"OOMKilled": false,"Dead": false,"Pid": 11901,"ExitCode": 0,"Error": "","StartedAt": "2022-10-07T06:35:17.412877686Z","FinishedAt": "0001-01-01T00:00:00Z"},"Image": "sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6","ResolvConfPath": "/var/lib/docker/containers/1f457dc49d6d9e4227284a1617b944b5307e7678aaa47e5a488425bcd056faf0/resolv.conf","HostnamePath": "/var/lib/docker/containers/1f457dc49d6d9e4227284a1617b944b5307e7678aaa47e5a488425bcd056faf0/hostname","HostsPath": "/var/lib/docker/containers/1f457dc49d6d9e4227284a1617b944b5307e7678aaa47e5a488425bcd056faf0/hosts","LogPath": "/var/lib/docker/containers/1f457dc49d6d9e4227284a1617b944b5307e7678aaa47e5a488425bcd056faf0/1f457dc49d6d9e4227284a1617b944b5307e7678aaa47e5a488425bcd056faf0-json.log","Name": "/suspicious_chaplygin","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": "/var/lib/docker/overlay2/ec3bcfe72237d908d25f24516dc5eae6c0728b7d7d7705fbffe5e49afe4eec1a-init/diff:/var/lib/docker/overlay2/4a6bb38ec524d5bda0d06ff72ded55ce46b3cefc7546432c840b6661779e8dbb/diff","MergedDir": "/var/lib/docker/overlay2/ec3bcfe72237d908d25f24516dc5eae6c0728b7d7d7705fbffe5e49afe4eec1a/merged","UpperDir": "/var/lib/docker/overlay2/ec3bcfe72237d908d25f24516dc5eae6c0728b7d7d7705fbffe5e49afe4eec1a/diff","WorkDir": "/var/lib/docker/overlay2/ec3bcfe72237d908d25f24516dc5eae6c0728b7d7d7705fbffe5e49afe4eec1a/work"},"Name": "overlay2"},"Mounts": [],"Config": {"Hostname": "1f457dc49d6d","Domainname": "","User": "","AttachStdin": false,"AttachStdout": false,"AttachStderr": false,"Tty": false,"OpenStdin": false,"StdinOnce": false,"Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Cmd": ["/bin/sh","-c","while true;do echo 6666;sleep 1; done"],"Image": "centos","Volumes": null,"WorkingDir": "","Entrypoint": null,"OnBuild": null,"Labels": {"org.label-schema.build-date": "20210915","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": "1acaa5ed1212a950da1ffcedf9ed5f755c6402543606e339ca8b3200f97948b2","HairpinMode": false,"LinkLocalIPv6Address": "","LinkLocalIPv6PrefixLen": 0,"Ports": {},"SandboxKey": "/var/run/docker/netns/1acaa5ed1212","SecondaryIPAddresses": null,"SecondaryIPv6Addresses": null,"EndpointID": "ab0a229e69e2c663cd3e898c685b124caed317686c61ca78f0015c7e1fae19a3","Gateway": "172.17.0.1","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"IPAddress": "172.17.0.3","IPPrefixLen": 16,"IPv6Gateway": "","MacAddress": "02:42:ac:11:00:03","Networks": {"bridge": {"IPAMConfig": null,"Links": null,"Aliases": null,"NetworkID": "cc96daeb0587caacad93f2db01f3ae4024ba2ceb442d801eb1769bfade90c6c9","EndpointID": "ab0a229e69e2c663cd3e898c685b124caed317686c61ca78f0015c7e1fae19a3","Gateway": "172.17.0.1","IPAddress": "172.17.0.3","IPPrefixLen": 16,"IPv6Gateway": "","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"MacAddress": "02:42:ac:11:00:03","DriverOpts": null}}}} ]

    進入當前正在運行的容器

    # 我們通常容器都是使用后臺方式運行的,需要進入容器,修改一些配置# 方式一 docker exec -it 容器id bashShell # 測試 [root@VM-4-17-centos ~]# docker exec -it 1f457dc49d6d /bin/bash [root@1f457dc49d6d /]# ls bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var [root@1f457dc49d6d /]# # 方式二 docker attach 容器id # 測試 [root@VM-4-17-centos ~]# docker attach 1f457dc49d6d區別 #docker exec #進入當前容器后開啟一個新的終端,可以在里面操作。(常用) #docker attach # 進入容器正在執行的終端

    從容器內拷貝文件到主機

    docker cp 容器id:容器內路徑 目的主機路徑 # 查看容器 [root@VM-4-17-centos home]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2b19b6c989ee centos "/bin/bash" 47 seconds ago Up 46 seconds nice_sanderson # 進入容器 [root@VM-4-17-centos home]# docker attach 2b19b6c989ee [root@2b19b6c989ee /]# ls bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var [root@2b19b6c989ee /]# cd home [root@2b19b6c989ee home]# ls [root@2b19b6c989ee home]# touch zwj.java [root@2b19b6c989ee home]# ls zwj.java # 拷貝 [root@2b19b6c989ee home]# touch zwj.javaread escape sequence [root@VM-4-17-centos home]# docker cp 2b19b6c989ee:/home/zwj.java /home/www # 查看驗證 [root@VM-4-17-centos home]# cd www [root@VM-4-17-centos www]# ls zwj.java

    小結

    5、命令大全

    attach Attach local standard input, output, and error streams to a running container#當前shell下 attach連接指定運行的鏡像build Build an image from a Dockerfile # 通過Dockerfile定制鏡像commit Create a new image from a container's changes #提交當前容器為新的鏡像cp Copy files/folders between a container and the local filesystem #拷貝文件create Create a new container #創建一個新的容器diff Inspect changes to files or directories on a container's filesystem #查看docker容器的變化events Get real time events from the server # 從服務獲取容器實時時間exec Run a command in a running container # 在運行中的容器上運行命令export Export a container's filesystem as a tar archive #導出容器文件系統作為一個tar歸檔文件[對應import]history Show the history of an image # 展示一個鏡像形成歷史images List images #列出系統當前的鏡像import Import the contents from a tarball to create a filesystem image #從tar包中導入內容創建一個文件系統鏡像info Display system-wide information # 顯示全系統信息inspect Return low-level information on Docker objects #查看容器詳細信息kill Kill one or more running containers # kill指定docker容器load Load an image from a tar archive or STDIN #從一個tar包或標準輸入中加載一個鏡像[對應save]login Log in to a Docker registry #logout Log out from a Docker registrylogs Fetch the logs of a containerpause Pause all processes within one or more containersport List port mappings or a specific mapping for the containerps List containerspull Pull an image or a repository from a registrypush Push an image or a repository to a registryrename Rename a containerrestart Restart one or more containersrm Remove one or more containersrmi Remove one or more imagesrun Run a command in a new containersave Save one or more images to a tar archive (streamed to STDOUT by default)search Search the Docker Hub for imagesstart Start one or more stopped containersstats Display a live stream of container(s) resource usage statisticsstop Stop one or more running containerstag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGEtop Display the running processes of a containerunpause Unpause all processes within one or more containersupdate Update configuration of one or more containersversion Show the Docker version informationwait Block until one or more containers stop, then print their exit codes

    練習

    Docker安裝Nginx

    #1. 搜索鏡像 search 建議大家去docker搜索,可以看到幫助文檔 [root@VM-4-17-centos www]# docker search nginx NAME DESCRIPTION STARS nginx Official build of Nginx. 17448 #2. 拉取下載鏡像 pull [root@VM-4-17-centos www]# docker pull nginx#3. 查看是否下載成功鏡像 [root@VM-4-17-centos /]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 51086ed63d8c 43 hours ago 142MB centos latest 5d0da3dc9764 12 months ago 231MB#3. 運行測試 # -d 后臺運行 # --name 給容器命名 # -p 宿主機端口:容器內部端口 [root@VM-4-17-centos /]# docker run -d --name nginx1 -p 3344:80 nginx 1f58c7605ac762d29991dbccf5cf710dc98c0ff1df7b652f36891e4b337e0ea0#4. 查看正在啟動的鏡像 [root@VM-4-17-centos /]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1f58c7605ac7 nginx "/docker-entrypoint.…" 19 seconds ago Up 18 seconds 0.0.0.0:3344->80/tcp, :::3344->80/tcp nginx1 2b19b6c989ee centos "/bin/bash" 21 minutes ago Up 21 minutes #5. 進入容器 [root@VM-4-17-centos /]# docker exec -it nginx1 /bin/bash root@1f58c7605ac7:/# whereis nginx #找到nginx nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx#6. 停止容器 root@1f58c7605ac7:/# exit exit#7. 停止容器 [root@VM-4-17-centos /]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1f58c7605ac7 nginx "/docker-entrypoint.…" 6 minutes ago Up 6 minutes 0.0.0.0:3344->80/tcp, :::3344->80/tcp nginx1 2b19b6c989ee centos "/bin/bash" 28 minutes ago Up 28 minutes nice_sanderson [root@VM-4-17-centos /]# docker stop 1f58c7605ac7 1f58c7605ac7#8. 刪除容器 [root@VM-4-17-centos /]# docker rm -f 1f58c7605ac7 1f58c7605ac7

    宿主機端口容器內部端口 以及端口暴露:

    如果想要訪問,一定要在阿里云或者騰訊云服務器里開啟安全組!

    **問題:**每次改動nginx配置文件,都需要進入容器內部?十分麻煩,我要是可以在容器外部提供一個映射路徑,達到在容器外部修改文件名,容器內部就可以自動修改? 這就是 數據卷 技術!

    部署elasticsearch+kibana

    # es 暴露的端口很多! # es 十分耗內存 # es 的數據一般需要放置到安全目錄!掛載 # --net somenetwork ? 網絡配置# 啟動elasticsearch [root@iz2zeak7sgj6i7hrb2g862z ~]# docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2# 測試一下es是否成功啟動 [root@VM-4-17-centos /]# curl localhost:9200 {"name" : "d1fdd23df7b5","cluster_name" : "docker-cluster","cluster_uuid" : "iDjRqpmqQoqV_LOlr9fm2w","version" : {"number" : "7.6.2","build_flavor" : "default","build_type" : "docker","build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f","build_date" : "2020-03-26T06:34:37.794943Z","build_snapshot" : false,"lucene_version" : "8.4.0","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search" }[root@iz2zeak7sgj6i7hrb2g862z ~]# docker stats # 查看docker容器使用內存情況

    Portainer 可視化面板安裝

    • portainer(先用這個)
    docker run -d -p 8088:9000 \ --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
    • Rancher(CI/CD再用)

    下載成功,訪問測試:

    [root@VM-4-17-centos /]# docker run -d -p 8088:9000 \ > --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer Unable to find image 'portainer/portainer:latest' locally latest: Pulling from portainer/portainer b890dbc4eb27: Pull complete 81378af8dad0: Pull complete Digest: sha256:958a8e5c814e2610fb1946179a3db598f9b5c15ed90d92b42d94aa99f039f30b Status: Downloaded newer image for portainer/portainer:latest 9d90ec7ffb1b30909635ee1cb5206c79a5491efba3b6a59cc5358796d7444fb1

    訪問成功!

    這里可以管理我們的images和containers

    Docker鏡像詳解

    鏡像是什么

    鏡像是一種輕量級、可執行的獨立軟件保,用來打包軟件運行環境和基于運行環境開發的軟件,他包含運行某個軟件所需的所有內容,包括代碼、運行時庫、環境變量和配置文件。

    所有應用,直接打包docker鏡像,就可以直接跑起來!

    如何得到鏡像:

    • 從遠程倉庫下載
    • 拷貝
    • 自己制作 DockerFile

    Docker鏡像加載原理

    UnionFs (聯合文件系統)

    UnionFs(聯合文件系統):Union文件系統(UnionFs)是一種分層、輕量級并且高性能的文件系統,他支持對文件系統的修改作為一次提交來一層層的疊加,同時可以將不同目錄掛載到同一個虛擬文件系統下( unite several directories into a single virtual filesystem)。Union文件系統是 Docker鏡像的基礎。鏡像可以通過分層來進行繼承,基于基礎鏡像(沒有父鏡像),可以制作各種具體的應用鏡像
    特性:一次同時加載多個文件系統,但從外面看起來,只能看到一個文件系統,聯合加載會把各層文件系統疊加起來,這樣最終的文件系統會包含所有底層的文件和目錄。
    Docker鏡像加載
    docker的鏡像實際上由一層一層的文件系統組成,這種層級的文件系統UnionFS。
    boots(boot file system)主要包含 bootloader和 Kernel, bootloader主要是引導加 kernel, Linux剛啟動時會加bootfs文件系統,在 Docker鏡像的最底層是 boots。這一層與我們典型的Linux/Unix系統是一樣的,包含boot加載器和內核。當boot加載完成之后整個內核就都在內存中了,此時內存的使用權已由 bootfs轉交給內核,此時系統也會卸載bootfs。
    rootfs(root file system),在 bootfs之上。包含的就是典型 Linux系統中的/dev,/proc,/bin,/etc等標準目錄和文件。 rootfs就是各種不同的操作系統發行版,比如 Ubuntu, Centos等等。

    平時我們安裝進虛擬機的CentOS都是好幾個G,為什么Docker這里才200M?

    對于個精簡的OS,rootfs可以很小,只需要包合最基本的命令,工具和程序庫就可以了,因為底層直接用Host的kernel,自己只需要提供rootfs就可以了。由此可見對于不同的Linux發行版, boots基本是一致的, rootfs會有差別,因此不同的發行版可以公用bootfs.

    虛擬機是分鐘級別,容器是秒級!

    分層理解

    我們可以去下載一個鏡像,注意觀察下載的日志輸出,可以看到是一層層的在下載


    最大的好處,我覺得莫過于資源共享了!比如有多個鏡像都從相同的Base鏡像構建而來,那么宿主機只需在磁盤上保留一份base鏡像,同時內存中也只需要加載一份base鏡像,這樣就可以為所有的容器服務了,而且鏡像的每一層都可以被共享。

    查看鏡像分層的方式可以通過docker image inspect 命令

    [root@VM-4-17-centos ~]# docker image inspect redis [{"Id": "sha256:f8528f17261c4a2c94ef702ff483ba7e4b998aa734cba60fa689ca5ecc14705f","RepoTags": ["redis:latest"],"RepoDigests": ["redis@sha256:c95835a74c37b3a784fb55f7b2c211bd20c650d5e55dae422c3caa9c01eb39fa"],"Parent": "","Comment": "","Created": "2022-10-05T09:33:31.067909521Z","Container": "d9be0debfd6dfafd2c63e12be9eb66f4ee73d7c4f9b30ca48cca7ccbc2a40d52","ContainerConfig": {"Hostname": "d9be0debfd6d","Domainname": "","User": "","AttachStdin": false,"AttachStdout": false,"AttachStderr": false,"ExposedPorts": {"6379/tcp": {}},"Tty": false,"OpenStdin": false,"StdinOnce": false,"Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","GOSU_VERSION=1.14","REDIS_VERSION=7.0.5","REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-7.0.5.tar.gz","REDIS_DOWNLOAD_SHA=67054cc37b58c125df93bd78000261ec0ef4436a26b40f38262c780e56315cc3"],"Cmd": ["/bin/sh","-c","#(nop) ","CMD [\"redis-server\"]"],"Image": "sha256:5e8566053ad429467d4a956f3254970c357a8a5844825c62f68a146161ec1269","Volumes": {"/data": {}},"WorkingDir": "/data","Entrypoint": ["docker-entrypoint.sh"],"OnBuild": null,"Labels": {}},"DockerVersion": "20.10.12","Author": "","Config": {"Hostname": "","Domainname": "","User": "","AttachStdin": false,"AttachStdout": false,"AttachStderr": false,"ExposedPorts": {"6379/tcp": {}},"Tty": false,"OpenStdin": false,"StdinOnce": false,"Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","GOSU_VERSION=1.14","REDIS_VERSION=7.0.5","REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-7.0.5.tar.gz","REDIS_DOWNLOAD_SHA=67054cc37b58c125df93bd78000261ec0ef4436a26b40f38262c780e56315cc3"],"Cmd": ["redis-server"],"Image": "sha256:5e8566053ad429467d4a956f3254970c357a8a5844825c62f68a146161ec1269","Volumes": {"/data": {}},"WorkingDir": "/data","Entrypoint": ["docker-entrypoint.sh"],"OnBuild": null,"Labels": null},"Architecture": "amd64","Os": "linux","Size": 116951526,"VirtualSize": 116951526,"GraphDriver": {"Data": {"LowerDir": "/var/lib/docker/overlay2/4513227a515eb72cb310d4b566d37c212b1a7c9e109220098db7ffbef89ef865/diff:/var/lib/docker/overlay2/fad8a771ef0591e2f820d63daf14a578593eb73c2570b6f9e99a3c1a5c3e6f27/diff:/var/lib/docker/overlay2/171d780cbb7ee56034ac2119d764a3087db2205e080617030acbf9929445672c/diff:/var/lib/docker/overlay2/107906d828174d9d10ec3a4c736a12093a73555b8f313767a34000d55e9f202e/diff:/var/lib/docker/overlay2/1f429286b38dfe93d4169b3d89aaeee79fbf748edb7eee2f16de329b1ba47dbd/diff","MergedDir": "/var/lib/docker/overlay2/3de98d28b2953e97e7115c90a7060cff99d9135d6f38ab09d0fe03e84cf172af/merged","UpperDir": "/var/lib/docker/overlay2/3de98d28b2953e97e7115c90a7060cff99d9135d6f38ab09d0fe03e84cf172af/diff","WorkDir": "/var/lib/docker/overlay2/3de98d28b2953e97e7115c90a7060cff99d9135d6f38ab09d0fe03e84cf172af/work"},"Name": "overlay2"},"RootFS": {"Type": "layers","Layers": ["sha256:fe7b1e9bf7922fbc22281bcc6b4f5ac8f1a7b4278929880940978c42fc9d0229","sha256:291011b5d90b8e8f3af6cbc4534aba89cb4f1f67ef9df3e2a9a2a9f14b981281","sha256:0162880997e885d9d6a4ae697f93fc07ec17ca107f92948107651ec0f8cc3f8e","sha256:41faab27f2f5bc614adeac79e3bb2718af02106f74706a3544430c2e19667411","sha256:83c9cebc99756a1667f75b5400dd4ca115bb0bd8b3ea8c0a203cc0ef8250bada","sha256:5b654ae80690cab5da76607f4a04368c100765c8c66ce2c12e370129445a27b2"]},"Metadata": {"LastTagTime": "0001-01-01T00:00:00Z"}} ]

    理解

    所有的 Docker鏡像都起始于一個基礎鏡像層,當進行修改或培加新的內容時,就會在當前鏡像層之上,創建新的鏡像層。

    舉一個簡單的例子,假如基于 Ubuntu Linux16.04創建一個新的鏡像,這就是新鏡像的第一層;如果在該鏡像中添加 Python包,
    就會在基礎鏡像層之上創建第二個鏡像層;如果繼續添加一個安全補丁,就會創健第三個鏡像層該像當前已經包含3個鏡像層,如下圖所示(這只是一個用于演示的很簡單的例子)。

    在添加額外的鏡像層的同時,鏡像始終保持是當前所有鏡像的組合,理解這一點.

    在添加額外的鏡像層的同時,鏡像始終保持是當前所有鏡像的組合,理解這一點非常重要。下圖中舉了一個簡單的例子,每個鏡像層包含3個文件,而鏡像包含了來自兩個鏡像層的6個文件。

    這種情況下,上層鏡像層中的文件覆蓋了底層鏡像層中的文件。這樣就使得文件的更新版本作為一個新鏡像層添加到鏡像當中

    Docker通過存儲引擎(新版本采用快照機制)的方式來實現鏡像層堆棧,并保證多鏡像層對外展示為統一的文件系統

    Linux上可用的存儲引撃有AUFS、 Overlay2、 Device Mapper、Btrfs以及ZFS。顧名思義,每種存儲引擎都基于 Linux中對應的
    件系統或者塊設備技術,井且每種存儲引擎都有其獨有的性能特點。

    Docker在 Windows上僅支持 windowsfilter 一種存儲引擎,該引擎基于NTFS文件系統之上實現了分層和CoW [1]。

    下圖展示了與系統顯示相同的三層鏡像。所有鏡像層堆并合井,對外提供統一的視圖。

    對外視圖:(7是5的更新版)

    特點

    Docker 鏡像都是只讀的,當容器啟動時,一個新的可寫層加載到鏡像的頂部!

    這一層就是我們通常說的容器層,容器之下的都叫鏡像層!

    commit鏡像

    docker commit 提交容器成為一個新的副本# 命令和git原理類似 docker commit -m="描述信息" -a="作者" 容器id 目標鏡像名:[版本TAG]

    實戰測試

    # 1、啟動一個默認的tomcat [root@VM-4-17-centos ~]# docker run -it -p 8085:8080 tomcat de57d0ace5716d27d0e3a7341503d07ed4695ffc266aef78e0a855b270c4064e# 2、發現這個默認的tomcat 是沒有webapps應用,官方的鏡像默認webapps下面是沒有文件的! #docker exec -it 容器id /bin/bash [root@VM-4-17-centos ~]# docker exec -it 40b63bf59d24 /bin/bash root@40b63bf59d24:/usr/local/tomcat# cd webapps# 3、從webapps.dist拷貝文件進去webapp root@40b63bf59d24:/usr/local/tomcat# cp -r webapps.dist/* webapps root@40b63bf59d24:/usr/local/tomcat# cd webapps root@40b63bf59d24:/usr/local/tomcat/webapps# ls docs examples host-manager manager ROOT# 4、將操作過的容器通過commit提交為一個鏡像!我們以后就使用我們修改過的鏡像即可,而不需要每次都重新拷貝webapps.dist下的文件到webapps了,這就是我們自己的一個修改的鏡像。 docker commit -m="描述信息" -a="作者" 容器id 目標鏡像名:[TAG] docker commit -a="zwj" -m="add webapps app" 容器id tomcat:1.0[root@VM-4-17-centos ~]# docker commit -a="zwj" -m="add webapps appliaction" 40b63bf59d24 tomcat:1.0 sha256:ecd5844b77b3b69a086ac98e533957103a0c0dda46d48502c095390a5b285d14[root@VM-4-17-centos ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat 1.0 ecd5844b77b3 6 seconds ago 478MB tomcat 9.0 5aa9fb87fe03 2 days ago 475MB tomcat latest aabbe5aca89b 2 days ago 473MB

    第三步執行完成后可以去公網ip:8085測試

    如果你想要保存當前容器的狀態,就可以通過commit來提交,獲得一個鏡像

    就好比我們我們使用虛擬機的快照功能

    到這里僅僅是入門!

    弱小和無知不是生存的障礙,傲慢才是!

    容器數據卷

    什么是容器數據卷

    Docker的理解與回顧

    將應用和環境打包成一個鏡像!

    程序需要保存數據!如果數據都在容器中,那么我們容器刪除,數據就會丟失!需求:數據可以持久化

    MySQL,容器刪了,刪庫跑路!需求:MySQL數據可以存儲在本地!

    容器之間可以有一個數據共享技術!Docker容器中產生的數據,同步到本地!

    這就是卷技術!其實就是目錄的掛載,將我們容器內的目錄掛載到linux目錄上面!

    **總結: **容器的持久化和同步操作!容器間數據也是可以共享的!

    使用數據卷

    方式一:直接使用命令來掛載

    docker run -it -v 主機目錄:容器目錄[root@VM-4-17-centos home]# docker run -it -v /home/ceshi:/home centos /bin/bash docker inspect ...


    測試文件同步

    再來測試

    再來測試(測試通過)

  • 停止容器
  • 主機上修改文件
  • 啟動容器
  • 容器內的數據依舊是同步的!
  • 實戰:安裝Mysql

    思考:MySQL的數據持久化的問題!

    # 獲取鏡像 [root@VM-4-17-centos home]# docker pull mysql:5.7# 運行容器, 需要做數據掛載! # 安裝啟動mysql,需要配置密碼(注意) # 官方測試, docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag# 啟動我們的 -d # 后臺運行 -p # 端口映射 -v # 卷掛載 -e # 環境配置 --name # 容器的名字 [root@VM-4-17-centos home]# docker run -d -p 8085:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql1 mysql:5.7 eda724b2eeb9c7307155104ec269b9c8bd2aa5a4bc4ef0788de4f034610a6f37# 啟動成功之后,我們在本地使用navicat鏈接測試一下 # navicat鏈接到服務器的8085 --- 8085 和 容器的3306映射,這個時候我們就可以連接上mysql嘍!# 在本地測試創建一個數據庫,查看下我們的路徑是否ok! 刪除 docker rm -f mysql01

    連接mysql成功

    在本地新建一個數據庫

    在服務器查看

    假設我們把容器刪除了,但掛載到本地的數據卷依然不會丟失,這就實現了容器的持久化功能!

    匿名和具名掛載

    # 匿名掛載 -v 容器內路徑 docker run -d -P --name nginx01 -v /etc/nginx nginx # -P 隨機指定端口# 查看所有volume的情況 [root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker volume ls DRIVER VOLUME NAME local 561b81a03506f31d45ada3f9fb7bd8d7c9b5e0f826c877221a17e45d4c80e096 local 36083fb6ca083005094cbd49572a0bffeec6daadfbc5ce772909bb00be760882# 這里發現,這種情況就是匿名掛載,我們在-v 后面只寫了容器內的路徑,沒有寫容器外的路徑!# 具名掛載 [root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx 26da1ec7d4994c76e80134d24d82403a254a4e1d84ec65d5f286000105c3da17 [root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 26da1ec7d499 nginx "/docker-entrypoint.…" 3 seconds ago Up 2 seconds 0.0.0.0:32769->80/tcp nginx02 486de1da03cb nginx "/docker-entrypoint.…" 3 minutes ago Up 3 minutes 0.0.0.0:32768->80/tcp nginx01 [root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker volume ls DRIVER VOLUME NAME local 561b81a03506f31d45ada3f9fb7bd8d7c9b5e0f826c877221a17e45d4c80e096 local 36083fb6ca083005094cbd49572a0bffeec6daadfbc5ce772909bb00be760882 local juming-nginx# 通過-v 卷名:容器內的路徑 # 查看一下這個卷 # docker volume inspect juming-nginx[root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker volume inspect juming-nginx [{"CreatedAt": "2020-08-12T18:15:21+08:00","Driver": "local","Labels": null,"Mountpoint": "/var/lib/docker/volumes/juming-nginx/_data","Name": "juming-nginx","Options": null,"Scope": "local"} ]

    所有docker容器內的卷,沒有指定目錄的情況下都是在/var/lib/docker/volumes/xxxxx/_data

    我們通過具名掛載可以方便的找到我們的一個卷,大多數情況下使用的是具名掛載

    # 如何確定是具名掛載還是匿名掛載,還是指定路徑掛載! -v 容器內路徑 # 匿名掛載 -v 卷名:容器內路徑 # 具名掛載 -v /主機路徑:容器內路徑 # 指定路徑掛載

    拓展

    # 通過 -v 容器內容路徑 ro rw 改變讀寫權限 ro readonly # 只讀 rw readwrite # 可讀可寫docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:ro nginx docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:rw nginx# ro 只要看到ro就說明這個路徑只能通過宿主機來操作,容器內容無法操作

    DockerFile

    初始DockerFile

    DockerFile就是用來構建 docker鏡像的構建文件!命令腳本!先體驗一下!

    通過這個腳本可以生成鏡像,鏡像是一層一層的,腳本一個個的命令,每個命令都是一層!

    # 創建一個dockerfile文件, 名字可以隨意 # 文件的內容 指定(大寫) 參數 FROM centosVOLUME ["volume1","volume2"]CMD echo"---end---"CMD /bin/bash # 這里的每一個命令都是鏡像的一層!

    通過命令創建自己的鏡像!

    #docker build -f(file 文件) dockerfile1 -t(target 生成) zwj/centos(鏡像名) :1.0(版本) [root@VM-4-17-centos docker-test-volume]# docker build -f dockerfile1 -t zwj/centos:1.0 . Sending build context to Docker daemon 2.048kB Step 1/4 : FROM centos---> 5d0da3dc9764 Step 2/4 : VOLUME ["volume1","volume2"]---> Running in 364679e111ef Removing intermediate container 364679e111ef---> 415c2a69cbad Step 3/4 : CMD echo"---end---"---> Running in 670a9ec22b96 Removing intermediate container 670a9ec22b96---> 35a4317e8199 Step 4/4 : CMD /bin/bash---> Running in 4de171e231bb Removing intermediate container 4de171e231bb---> f365dbf54b57 Successfully built f365dbf54b57 Successfully tagged zwj/centos:1.0[root@VM-4-17-centos docker-test-volume]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE zwj/centos 1.0 f365dbf54b57 About a minute ago 231MB

    啟動一下我們自己創建的鏡像

    這個卷和外部一定有一個同步的目錄!

    docker inspect 容器id


    進入目錄進行驗證

    [root@VM-4-17-centos ~]# cd /var/lib/docker/volumes/dc96cc21885d079c33673f1e384799a51310fa8e1c14cc268241d8873a920933/_data [root@VM-4-17-centos _data]# ls container.txt

    掛載成功!

    這種方式我們未來使用的十分多, 因為我們通常會構建自己的鏡像!

    假設構建鏡像時候沒有掛載卷,要手動鏡像掛載 -v 卷名:容器內路徑!

    數據卷容器

    mysql同步數據

    通過我們剛才自己寫的鏡像啟動三個容器

    啟動docker2容器

    我們在docker1 /volume1下創建一個docker1.txt

    #進入容器1創建文件 [root@VM-4-17-centos docker-test-volume]# docker attach 771221b3ea22 [root@771221b3ea22 /]# cd volume1 [root@771221b3ea22 volume1]# ls [root@771221b3ea22 volume1]# touch docker1.txt#進入容器2驗證 [root@VM-4-17-centos /]# docker attach d4b161d036dd [root@d4b161d036dd /]# cd volume1 [root@d4b161d036dd volume1]# ls docker1.txt

    刪除docker1容器后docker2中依舊存在docker1.txt

    同理,我們就可以實現多個mysql或多個redis數據同步

    [root@iZ2zeg4ytp0whqtmxbsqiiZ home]# docker run -d -p 3344:3306 -v /etc/mysql/conf.d -v /var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql01 mysql:5.7[root@iZ2zeg4ytp0whqtmxbsqiiZ home]# docker run -d -p 3345:3306 -v /etc/mysql/conf.d -v /var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql02 --volumes-from mysql01 mysql:5.7#這個時候就可以實現兩個容器數據同步

    結論

    容器之間配置信息的傳遞, 數據卷容器的聲明周期一直持續到沒有容器使用為止。

    但是一旦你持久化到了本地,這個時候,本地的數據是不會刪除的!

    DockerFile

    dockerFile是用來構建docker鏡像的文件!命令參數腳本!

    構建步驟 1. 編寫一個dockerFile文件 2.docker build 構建成為一個鏡像 3. docker run 運行鏡像 4. docker push 發布鏡像(DockerHub、阿里云鏡像)

    查看官方是怎么做的

    很多官方鏡像都像是基礎包,很多功能都不具備,我們通常會自己搭建自己的鏡像!

    官方既然可以制作鏡像,那我們一樣可以!

    DockerFile的構建過程

    基礎知識:

    • 每個保留關鍵字(指令)都是必須大寫字母
    • 執行從上到下順序執行
    • #表示注釋
    • 每個指令都會創建提交一個新的鏡像層,并提交!

    dockerFile是面向開發的, 我們以后要發布項目, 做鏡像, 就需要編寫dockefile文件, 這個文件十分簡單!

    Docker鏡像逐漸成為企業的交互標準,必須要掌握!

    步驟:開發,部署, 運維… 缺一不可!

    DockerFile: 構建文件, 定義了一切的步驟,源代碼

    DockerImages: 通過DockerFile構建生成的鏡像, 最終發布和運行的產品!

    Docker容器:容器就是鏡像運行起來提供服務的

    DockerFile指令說明

    FROM # 基礎鏡像,一切從這里開始構建 MAINTAINER # 鏡像是誰寫的, 姓名+郵箱 RUN # 鏡像構建的時候需要運行的命令 ADD # 步驟, tomcat鏡像, 這個tomcat壓縮包!添加內容 WORKDIR # 鏡像的工作目錄 VOLUME # 掛載的目錄 EXPOSE # 暴露端口配置 CMD # 指定這個容器啟動的時候要運行的命令,只有最后一個會生效,可被替代 ENTRYPOINT # 指定這個容器啟動的時候要運行的命令, 可以追加命令 ONBUILD # 當構建一個被繼承DockerFile 這個時候就會運行 ONBUILD 的指令,觸發指令 COPY # 類似ADD, 將我們文件拷貝到鏡像中 ENV # 構建的時候設置環境變量!

    實戰:創建一個自己的centos!

    我們首先創建一個默認的centos

    [root@VM-4-17-centos ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos 7 eeb6ee3f44bd 12 months ago 204MB[root@VM-4-17-centos ~]# docker run -it --name centos-1 centos /bin/bash [root@c023f7df5bfc /]# vim bash: vim: command not found [root@c023f7df5bfc /]# ifconfig bash: ifconfig: command not found

    發現其中連vim和ifconfig這樣的基礎命令都沒有

    接下來創建自己的centos

    # 1.編寫dockerfile配置文件 [root@VM-4-17-centos dockerfile]# vim mydockerfile-centos [root@VM-4-17-centos dockerfile]# cat mydockerfile-centos FROM centos:7 #最新的centos是8,這里一定要寫7版本MAINTAINER zwj<2718458328@qq.com>ENV MYPATH /usr/localWORKDIR $MYPATHRUN yum -y install vim RUN yum -y install net-toolsEXPOSE 80CMD echo $MYPATH CMD echo "---end---" CMD /bin/bash# 2.通過文件構建鏡像 # 命令 docker build -f dockerfile文件路徑 -t 鏡像名:[tag] . docker build -f mydockerfile-centos -t mycentos:0.1 . *** Successfully built 7fc5734753d4 Successfully tagged mycentos:0.1# 3.啟動鏡像 [root@VM-4-17-centos dockerfile]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mycentos 0.1 7fc5734753d4 3 minutes ago 625MB centos 7 eeb6ee3f44bd 12 months ago 204MB[root@VM-4-17-centos dockerfile]# docker run -it mycentos:0.1 [root@21caeba328a5 local]# pwd #發現當前直接進入了我們創建鏡像時候的工作路徑 /usr/local

    發現vim和ifconfig命令也都可以用了

    我們可以列出本地鏡像的變更歷史

    [root@VM-4-17-centos dockerfile]# docker history 7fc5734753d4 IMAGE CREATED CREATED BY SIZE COMMENT 7fc5734753d4 12 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "/bin… 0B bec1ca033a4d 12 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "echo… 0B 4294061d2866 12 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "echo… 0B 4486b80f3540 12 minutes ago /bin/sh -c #(nop) EXPOSE 80 0B af18e95c742d 12 minutes ago /bin/sh -c yum -y install net-tools 183MB 06c30e699c42 12 minutes ago /bin/sh -c yum -y install vim 238MB a511a9e7ab57 13 minutes ago /bin/sh -c #(nop) WORKDIR /usr/local 0B 44d1c3b42140 13 minutes ago /bin/sh -c #(nop) ENV MYPATH=/usr/local 0B efde73fdf021 13 minutes ago /bin/sh -c #(nop) MAINTAINER zwj<2718458328… 0B eeb6ee3f44bd 12 months ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B <missing> 12 months ago /bin/sh -c #(nop) LABEL org.label-schema.sc… 0B <missing> 12 months ago /bin/sh -c #(nop) ADD file:b3ebbe8bd304723d4… 204MB

    發現我們的鏡像其實就是這樣一步一步構建出來的

    CMD和ENTRYPOINT區別

    CMD # 指定這個容器啟動的時候要運行的命令,只有最后一個會生效可被替代 ENTRYPOINT # 指定這個容器啟動的時候要運行的命令, 可以追加命令 # CMD # 1. 編寫dockerfile文件 [root@iZ2zeg4ytp0whqtmxbsqiiZ dockerfile]# vim dockerfile-cmd FROM centos:7 CMD ["ls", "-a"]# 2. 構建鏡像 [root@iZ2zeg4ytp0whqtmxbsqiiZ dockerfile]# docker build -f dockerfile-cmd -t cmdtest .# 3. run運行, 發現我們的ls -a 命令生效 [root@VM-4-17-centos dockerfile]# docker run 846f1f878b89 . .. .dockerenv bin dev etc home lib lib64# 想追加一個命令 -l 變成 ls -al [root@VM-4-17-centos dockerfile]# docker run 846f1f878b89 -l docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "-l": executable file not found in $PATH: unknown.# cmd的情況下 -l替換了CMD["ls", "-a"]命令, -l不是命令,所以報錯了,實際執行的是下面這行 [root@iZ2zeg4ytp0whqtmxbsqiiZ dockerfile]# docker run ebe6a52bb125 ls -l # ENTRYPOINT # 1. 編寫dockerfile文件 [root@VM-4-17-centos dockerfile]# vim dockerfile-entrypoint FROM centos ENTRYPOINT ["ls", "-a"]# 2.構建鏡像 [root@VM-4-17-centos dockerfile]# docker build -f dockerfile-entrypoint -t entrypointtest .# 3. 創建容器 [root@VM-4-17-centos dockerfile]# docker run fc5e427dcacd . .. .dockerenv bin dev etc home lib lib64# 想追加一個命令 -l 變成 ls -al # 我們的追加命令, 是直接拼接到ENTRYPOINT命令的后面的! [root@VM-4-17-centos dockerfile]# docker run fc5e427dcacd -l drwxr-xr-x 1 root root 4096 Oct 10 08:20 . drwxr-xr-x 1 root root 4096 Oct 10 08:20 .. -rwxr-xr-x 1 root root 0 Oct 10 08:20 .dockerenv lrwxrwxrwx 1 root root 7 Nov 3 2020 bin -> usr/bin drwxr-xr-x 5 root root 340 Oct 10 08:20 dev drwxr-xr-x 1 root root 4096 Oct 10 08:20 etc drwxr-xr-x 2 root root 4096 Nov 3 2020 home lrwxrwxrwx 1 root root 7 Nov 3 2020 lib -> usr/lib lrwxrwxrwx 1 root root 9 Nov 3 2020 lib64 -> usr/lib64

    實戰:Tomcat鏡像

    1.準備鏡像文件 tomcat壓縮包,jdk的壓縮包!

    tomcat: Apache Tomcat? - Apache Tomcat 8 Software Downloads

    jdk: Java Archive Downloads - Java SE 8 (oracle.com)

    我個人在使用tomcat9的時候出現了錯誤,看個人情況吧

    [root@VM-4-17-centos tomcat]# ls apache-tomcat-8.5.82.tar.gz jdk-8u65-linux-x64.tar.gz

    2.編寫Dockerfile文件,官方命名Dockerfile,build會自動尋找這個文件,不需要-f 指定了

    # vim Dockerfile 編寫Dockerfile FROM centos:7 MAINTAINER zwj<2718458328@qq.com>COPY readme.txt /usr/local/readme.txtENV MYPATH /usr/localWORKDIR $MYPATHADD jdk-8u65-linux-x64.tar.gz /usr/local/ ADD apache-tomcat-8.5.82.tar.gz /usr/local/RUN yum -y install vimENV JAVA_HOME /usr/local/jdk1.8.0_65 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.82 ENV CATALINA_BASH /usr/local/apache-tomcat-8.5.82 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/binEXPOSE 8080CMD /usr/local/apache-tomcat-8.5.82/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.82/bin/logs/catalina.out# 創建鏡像 [root@VM-4-17-centos tomcat]# docker build -t diycentos:1.0 .# 啟動容器 [root@VM-4-17-centos tomcat]# docker run -it -p 3344:8080 -v /home/docker-mapping/centos/centos1:/usr/local/apache-tomcat-8.5.82/webapps/examples -v /home/docker-mapping/centos/logs/:/usr/local/apache-tomcat-8.5.82/logs diycentos:1.0 # 訪問測試 [root@VM-4-17-centos tomcat]# curl localhost:3344# 項目發布(由于做了卷掛載,我們在本機即可進行)

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"> </web-app> <%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>hello. xiaofan</title> </head> <body> Hello World!<br/> <% System.out.println("-----my test web logs------"); %> </body> </html>

    去瀏覽器訪問

    發現:項目部署成功, 可以直接訪問!

    我們以后開發的步驟:需要掌握Dockerfile的編寫! 我們之后的一切都是使用docker進行來發布運行的!

    發布自己的容器到DockerHub!

    1.注冊賬號:Docker Hub Container Image Library | App Containerization

    2.確定這個賬號可以登錄

    3.在我們服務器上提交自己的鏡像

    [root@VM-4-17-centos ~]# docker login --helpUsage: docker login [OPTIONS] [SERVER]Log in to a Docker registry. If no server is specified, the default is defined by the daemon.Options:-p, --password string Password--password-stdin Take the password from stdin-u, --username string Username [root@VM-4-17-centos ~]# docker login -u zwjyyds -p ****** WARNING! Using --password via the CLI is insecure. Use --password-stdin. WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded

    4.登錄完畢后就可以提交鏡像了,就是一步 docker push

    # 提交 [root@VM-4-17-centos /]# docker push zwjyyds/diycentos:1.0 The push refers to repository [docker.io/zwjyyds/diycentos] An image does not exist locally with the tag: zwjyyds/diycentos [root@VM-4-17-centos /]# docker push diycentos:1.0 The push refers to repository [docker.io/library/diycentos] ce114fd83b70: Preparing e73ea09b2631: Preparing e73f7dbc2b0d: Preparing d1d9974be847: Preparing 174f56854903: Preparing denied: requested access to the resource is denied #被拒絕# 顯示當前鏡像 [root@VM-4-17-centos ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE diycentos 1.0 4f91adba8d48 4 hours ago 822MB# 解決,增加一個tag [root@VM-4-17-centos /]# docker tag diycentos:1.0 ****/diycentos:1.0 # ****必須是dockhub的用戶名# 顯示當前鏡像 [root@VM-4-17-centos ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE diycentos 1.0 4f91adba8d48 4 hours ago 822MB zwjyyds/diycentos 1.0 4f91adba8d48 4 hours ago 822MB# 提交 [root@VM-4-17-centos /]# docker push zwjyyds/diycentos:1.0

    小結

    Docker網絡

    此部分內容建議使用tomcat7.0,新版的tomcat中沒有ping命令和yum命令

    理解Docker0

    測試

    # 獲取當前ip地址 [root@VM-4-17-centos /]# ip addr

    三個網絡

    # 問題: docker是如何處理容器網絡訪問的? [root@VM-4-17-centos /]# docker run -d -P --name tomcat01 tomcat# 查看容器內部的網絡地址 ip addr # 由于版本問題,ip addr可能已經失效,可以用docker inspect tomcat01查看ip地址 [root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker exec -it tomcat01 ip addr, 發現容器啟動的時候得到一個eth0@if115 ip地址,docker分配的! 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft forever 114: eth0@if115: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0valid_lft forever preferred_lft forever# 思考: linux 能不能ping通容器? [root@VM-4-17-centos ~]# ping 172.17.0.2 PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data. 64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.076 ms 64 bytes from 172.17.0.2: icmp_seq=2 ttl=64 time=0.087 ms 64 bytes from 172.17.0.2: icmp_seq=3 ttl=64 time=0.071 ms# linux 可以 ping 通docker容器內部!

    我們每啟動一個docker容器, docker就會給docker容器分配一個ip, 我們只要安裝了docker,就會有一個網卡 docker0橋接模式,使用的技術是veth-pair技術!

    再次測試ip addr

    再啟動一個容器測試,發現又多了一對網卡

    # 我們發現這個容器帶來網卡,都是一對對的 # veth-pair 就是一對的虛擬設備接口,他們都是成對出現的,一端連著協議,一端彼此相連 # 正因為有這個特性,veth-pair充當一個橋梁, 連接各種虛擬網絡設備 # OpenStac, Docker容器之間的鏈接,OVS的鏈接, 都是使用veth-pair技術

    容器之間也是可以互相ping通的

    結論:tomcat01和tomcat02是共用的一個路由器,docker0

    所有容器不指定網絡的情況下,都是docker0路由的,doucker會給我們的容器分配一個默認的可用IP

    Docker使用的是Linux的橋接,宿主機中是一個Docker容器的網橋docker0.

    Docker中的所有的網絡接口都是虛擬的,虛擬的轉發效率高!(內網傳遞文件!)

    只要容器刪除,對應的網橋一對就沒有了!

    __Link

    思考一個場景,我們編寫了一個微服務,database url =ip***; 項目不重啟,數據ip換掉了,我們希望可以處理這個問題,可以按名字來進行訪問容器

    [root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker exec -it tomcat02 ping tomcat01 ping: tomcat01: Name or service not known# 如何可以解決呢? # 通過--link既可以解決網絡連通問題 [root@VM-4-17-centos ~]# docker run -d -P --name tomcat03 --link tomcat02 tomcat e93f963ed8a3c0800fa60c8d70616195dfba770f46f537ec32392eb285456a3b[root@VM-4-17-centos ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e93f963ed8a3 tomcat "catalina.sh run" 9 seconds ago Up 9 seconds 0.0.0.0:49157->8080/tcp, :::49157->8080/tcp tomcat03 ad499cf17f6d tomcat "catalina.sh run" 3 hours ago Up 3 minutes 0.0.0.0:49156->8080/tcp, :::49156->8080/tcp tomcat02 2e68074aec30 tomcat "catalina.sh run" 4 hours ago Up 4 hours 0.0.0.0:49153->8080/tcp, :::49153->8080/tcp tomcat01[root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker exec -it tomcat03 ping tomcat02 PING tomcat02 (172.17.0.3) 56(84) bytes of data. 64 bytes from tomcat02 (172.17.0.3): icmp_seq=1 ttl=64 time=0.129 ms 64 bytes from tomcat02 (172.17.0.3): icmp_seq=2 ttl=64 time=0.100 ms 64 bytes from tomcat02 (172.17.0.3): icmp_seq=3 ttl=64 time=0.110 ms 64 bytes from tomcat02 (172.17.0.3): icmp_seq=4 ttl=64 time=0.107 ms# 反向可以ping通嗎? [root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker exec -it tomcat02 ping tomcat03 ping: tomcat03: Name or service not known

    inspect bridge

    其實這個tomcat03就是在本地配置了tomcat02的配置

    [root@VM-4-17-centos ~]# docker exec -it tomcat03 cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.3 tomcat02 ad499cf17f6d 172.17.0.4 e93f963ed8a3

    本質探究:–link 就是我們在hosts配置中增加了一個172.17.0.3 tomcat02 ad499cf17f6d

    我們現在玩Docker已經不建議使用–link了!

    現在都是自定義網絡!不使用Docker0!

    Docker0的問題:它不支持容器名鏈接訪問!

    思考一個場景,我們編寫了一個微服務,database url =ip/?***; 項目不重啟,數據ip換掉了,就連接不到數據庫了。我們希望可以處理這個問題,可以按名字來進行訪問容器

    [root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker exec -it tomcat02 ping tomcat01 ping: tomcat01: Name or service not known# 如何可以解決呢? # 通過--link既可以解決網絡連通問題 [root@VM-4-17-centos ~]# docker run -d -P --name tomcat03 --link tomcat02 tomcat e93f963ed8a3c0800fa60c8d70616195dfba770f46f537ec32392eb285456a3b[root@VM-4-17-centos ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e93f963ed8a3 tomcat "catalina.sh run" 9 seconds ago Up 9 seconds 0.0.0.0:49157->8080/tcp, :::49157->8080/tcp tomcat03 ad499cf17f6d tomcat "catalina.sh run" 3 hours ago Up 3 minutes 0.0.0.0:49156->8080/tcp, :::49156->8080/tcp tomcat02 2e68074aec30 tomcat "catalina.sh run" 4 hours ago Up 4 hours 0.0.0.0:49153->8080/tcp, :::49153->8080/tcp tomcat01[root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker exec -it tomcat03 ping tomcat02 PING tomcat02 (172.17.0.3) 56(84) bytes of data. 64 bytes from tomcat02 (172.17.0.3): icmp_seq=1 ttl=64 time=0.129 ms 64 bytes from tomcat02 (172.17.0.3): icmp_seq=2 ttl=64 time=0.100 ms 64 bytes from tomcat02 (172.17.0.3): icmp_seq=3 ttl=64 time=0.110 ms 64 bytes from tomcat02 (172.17.0.3): icmp_seq=4 ttl=64 time=0.107 ms# 反向可以ping通嗎? [root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker exec -it tomcat02 ping tomcat03 ping: tomcat03: Name or service not known

    inspect bridge

    [外鏈圖片轉存中…(img-6GD8EnKz-1665554663931)]

    其實這個tomcat03就是在本地配置了tomcat02的配置

    [root@VM-4-17-centos ~]# docker exec -it tomcat03 cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.3 tomcat02 ad499cf17f6d 172.17.0.4 e93f963ed8a3

    本質探究:–link 就是我們在hosts配置中增加了一個172.17.0.3 tomcat02 ad499cf17f6d

    我們現在玩Docker已經不建議使用–link了!

    現在都是自定義網絡!不使用Docker0!

    Docker0的問題:它不支持容器名鏈接訪問!

    自定義網絡

    查看所有網絡

    [root@VM-4-17-centos ~]# docker network ls NETWORK ID NAME DRIVER SCOPE cc96daeb0587 bridge bridge local 68a20aebc99e host host local d0bc18957a87 none null local

    網絡模式

    bridge: 橋接模式,橋docker 默認

    none: 不配置網絡

    host: 和宿主機共享網絡

    contain: 容器間網絡連通(用的少)

    測試

    # 我們直接啟動的命令默認有一個 --net bridge,而這個就是我們的docker0 [root@VM-4-17-centos ~]# docker run -d -P --name tomcat01 tomcat:7.0 [root@VM-4-17-centos ~]# docker run -d -P --name tomcat01 --net bridge tomcat:7.0# docker0特點,默認,容器名不能訪問, --link可以打通連接! # 我們可以自定義一個網絡! # --driver bridge 橋接模式 # --subnet 192.168.0.0/16 可以支持255*255個網絡 192.168.0.2 ~ 192.168.255.254 # --gateway 192.168.0.1 網關# 創建網絡mynet [root@VM-4-17-centos ~]# docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet edbae3e3682aa5ddd712154390d818c322effa142264aff2b0d130acce53aaec# 顯示當前網絡 [root@VM-4-17-centos ~]# docker network ls NETWORK ID NAME DRIVER SCOPE cc96daeb0587 bridge bridge local 68a20aebc99e host host local edbae3e3682a mynet bridge local d0bc18957a87 none null local

    我們自己的網絡就創建好了

    用創建的網絡啟動兩個容器

    [root@VM-4-17-centos ~]# docker run -d -P --name tomcat-net-01 --net mynet tomcat:7.0 f286cc44c92afaf21f23e85f58b25f36c8abcfd27e922325d1e6f07ae0f9d9e4 [root@VM-4-17-centos ~]# docker run -d -P --name tomcat-net-02 --net mynet tomcat:7.0 97ac96a4c44e606f1e2f17547e84aa982485bbca819d472bd69d0364692399ca# 顯示這個網絡信息 [root@VM-4-17-centos ~]# docker network inspect mynet# Containers中就多了兩個容器ip"Containers": {"97ac96a4c44e606f1e2f17547e84aa982485bbca819d472bd69d0364692399ca": {"Name": "tomcat-net-02","EndpointID": "1b73798d90957023b8976db96205104f0e6ddd4dd7490513f43fb5e14978c665","MacAddress": "02:42:c0:a8:00:03","IPv4Address": "192.168.0.3/16","IPv6Address": ""},"f286cc44c92afaf21f23e85f58b25f36c8abcfd27e922325d1e6f07ae0f9d9e4": {"Name": "tomcat-net-01","EndpointID": "f9811a47e3111867524519c5d18fa53505e7d5d1998cae04fe3b4b3985059f69","MacAddress": "02:42:c0:a8:00:02","IPv4Address": "192.168.0.2/16","IPv6Address": ""}}# 我們來ping一下網絡 [root@VM-4-17-centos ~]# docker exec -it tomcat-net-01 ping 192.168.0.3 # ping tomcat02的ip PING 192.168.0.3 (192.168.0.3) 56(84) bytes of data. 64 bytes from 192.168.0.3: icmp_seq=1 ttl=64 time=0.139 ms 64 bytes from 192.168.0.3: icmp_seq=2 ttl=64 time=0.090 ms# 現在不適用docker --link 也可以ping容器名字了 [root@VM-4-17-centos ~]# docker exec -it tomcat-net-01 ping tomcat-net-02 # ping tomcat02的名字 PING tomcat-net-02 (192.168.0.3) 56(84) bytes of data. 64 bytes from tomcat-net-02.mynet (192.168.0.3): icmp_seq=1 ttl=64 time=0.084 ms 64 bytes from tomcat-net-02.mynet (192.168.0.3): icmp_seq=2 ttl=64 time=0.089 ms

    我們自定義的網絡docker都已經幫我們維護好了對應的關系,推薦我們平時這樣使用網絡

    好處:

    redis - 不同的集群使用不同的網絡,保證集群是安全和健康的

    mysql - 不同的集群使用不同的網絡,保證集群是安全和健康的

    網絡連通

    測試打通tomcat01 和mynet

    # 直接ping [root@VM-4-17-centos ~]# docker exec -it tomcat01 ping tomcat-net-01 ping: tomcat-net-01: Name or service not known

    嘗試把tomcat01接入mynet

    [root@VM-4-17-centos ~]# docker network connect --helpUsage: docker network connect [OPTIONS] NETWORK CONTAINERConnect a container to a networkOptions:--alias strings Add network-scoped alias for the container--driver-opt strings driver options for the network--ip string IPv4 address (e.g., 172.30.100.104)--ip6 string IPv6 address (e.g., 2001:db8::33)--link list Add link to another container--link-local-ip strings Add a link-local address for the container

    測試

    [root@VM-4-17-centos ~]# docker network connect mynet tomcat01

    查看mynet網絡

    docker network inspect mynet

    類比服務器

    就像一個是公網ip,一個是私網ip,一個容器兩個ip

    驗證是否能ping通

    [root@VM-4-17-centos ~]# docker exec -it tomcat01 ping tomcat-net-01 PING tomcat-net-01 (192.168.0.2) 56(84) bytes of data. 64 bytes from tomcat-net-01.mynet (192.168.0.2): icmp_seq=1 ttl=64 time=0.112 ms 64 bytes from tomcat-net-01.mynet (192.168.0.2): icmp_seq=2 ttl=64 time=0.092 ms# 測試tomcat02是否可以ping通 [root@VM-4-17-centos ~]# docker exec -it tomcat02 ping tomcat-net-01 ping: tomcat-net-01: Name or service not known

    實戰,部署Redis集群

    # 創建redis網絡 [root@VM-4-17-centos ~]# docker network create redis --subnet 172.38.0.0/16 2c5bb068547e764cf368b4148af89119ab2c7530f4ed8c172d23479d0f8ebea4# 查看網絡 [root@VM-4-17-centos ~]# docker network ls NETWORK ID NAME DRIVER SCOPE cc96daeb0587 bridge bridge local 68a20aebc99e host host local edbae3e3682a mynet bridge local d0bc18957a87 none null local 2c5bb068547e redis bridge local# 通過腳本創建六個redis配置 for port in $(seq 1 6); \ do \ mkdir -p /mydata/redis/node-${port}/conf touch /mydata/redis/node-${port}/conf/redis.conf cat << EOF >/mydata/redis/node-${port}/conf/redis.conf port 6379 bind 0.0.0.0 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 cluster-announce-ip 172.38.0.1${port} cluster-announce-port 6379 cluster-announce-bus-port 16379 appendonly yes EOF done# 查看配置 [root@VM-4-17-centos ~]# cd /mydata/redis [root@VM-4-17-centos redis]# ls node-1 node-2 node-3 node-4 node-5 node-6# 創建結點1 docker run -p 6371:6379 -p 16371:16379 --name redis-1 \ -v /mydata/redis/node-1/data:/data \ -v /mydata/redis/node-1/conf/redis.conf:/etc/redis/redis.conf \ -d --net redis --ip 172.38.0.11 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf#創建結點2 docker run -p 6372:6379 -p 16372:16379 --name redis-2 \ -v /mydata/redis/node-2/data:/data \ -v /mydata/redis/node-2/conf/redis.conf:/etc/redis/redis.conf \ -d --net redis --ip 172.38.0.12 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf #創建結點3 docker run -p 6373:6379 -p 16373:16379 --name redis-3 \ -v /mydata/redis/node-3/data:/data \ -v /mydata/redis/node-3/conf/redis.conf:/etc/redis/redis.conf \ -d --net redis --ip 172.38.0.13 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf #創建結點4 docker run -p 6374:6379 -p 16374:16379 --name redis-4 \ -v /mydata/redis/node-4/data:/data \ -v /mydata/redis/node-4/conf/redis.conf:/etc/redis/redis.conf \ -d --net redis --ip 172.38.0.14 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf #創建結點5 docker run -p 6375:6379 -p 16375:16379 --name redis-5 \ -v /mydata/redis/node-5/data:/data \ -v /mydata/redis/node-5/conf/redis.conf:/etc/redis/redis.conf \ -d --net redis --ip 172.38.0.15 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf #創建結點6 docker run -p 6376:6379 -p 16376:16379 --name redis-6 \ -v /mydata/redis/node-6/data:/data \ -v /mydata/redis/node-6/conf/redis.conf:/etc/redis/redis.conf \ -d --net redis --ip 172.38.0.16 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf# 查看服務 [root@VM-4-17-centos redis]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 635c755e51e1 redis:5.0.9-alpine3.11 "docker-entrypoint.s…" 30 seconds ago Up 29 seconds 0.0.0.0:6376->6379/tcp, :::6376->6379/tcp, 0.0.0.0:16376->16379/tcp, :::16376->16379/tcp redis-6 49a9e6017bec redis:5.0.9-alpine3.11 "docker-entrypoint.s…" 38 seconds ago Up 37 seconds 0.0.0.0:6375->6379/tcp, :::6375->6379/tcp, 0.0.0.0:16375->16379/tcp, :::16375->16379/tcp redis-5 b2eda60cb33c redis:5.0.9-alpine3.11 "docker-entrypoint.s…" 47 seconds ago Up 46 seconds 0.0.0.0:6374->6379/tcp, :::6374->6379/tcp, 0.0.0.0:16374->16379/tcp, :::16374->16379/tcp redis-4 23e7b7c57502 redis:5.0.9-alpine3.11 "docker-entrypoint.s…" 56 seconds ago Up 55 seconds 0.0.0.0:6373->6379/tcp, :::6373->6379/tcp, 0.0.0.0:16373->16379/tcp, :::16373->16379/tcp redis-3 7c724462d992 redis:5.0.9-alpine3.11 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:6372->6379/tcp, :::6372->6379/tcp, 0.0.0.0:16372->16379/tcp, :::16372->16379/tcp redis-2 441b26f7eba7 redis:5.0.9-alpine3.11 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:6371->6379/tcp, :::6371->6379/tcp, 0.0.0.0:16371->16379/tcp, :::16371->16379/tcp redis-1# 創建集群 [root@VM-4-17-centos redis]# docker exec -it redis-1 /bin/sh /data # ls appendonly.aof nodes.conf /data # redis-cli --cluster create 172.38.0.11:6379 172.38.0.12:6379 172.38.0.13:6379 172.38.0.14:6379 172.38.0.15:6379 172.38.0.16:6379 --cluster-replicas 1 >>> Performing hash slots allocation on 6 nodes... Master[0] -> Slots 0 - 5460 Master[1] -> Slots 5461 - 10922 Master[2] -> Slots 10923 - 16383 Adding replica 172.38.0.15:6379 to 172.38.0.11:6379 Adding replica 172.38.0.16:6379 to 172.38.0.12:6379 Adding replica 172.38.0.14:6379 to 172.38.0.13:6379 M: 15e62b1ceef1187afaeeefd1564aa8d76a27c819 172.38.0.11:6379slots:[0-5460] (5461 slots) master M: ce628d1171969d7369d5e0fefca8d4851f91f094 172.38.0.12:6379slots:[5461-10922] (5462 slots) master M: b919d9d08ebf96c66f7bed803b439bd6053c8078 172.38.0.13:6379slots:[10923-16383] (5461 slots) master S: 6fe819edf4f4b5613b1425363f825124d81332b7 172.38.0.14:6379replicates b919d9d08ebf96c66f7bed803b439bd6053c8078 S: f8fa5b0b678c710aef205f29d2a25f20db4428b8 172.38.0.15:6379replicates 15e62b1ceef1187afaeeefd1564aa8d76a27c819 S: 7d9245617ecd13a1615fadb6ffdc539a9397c6d2 172.38.0.16:6379replicates ce628d1171969d7369d5e0fefca8d4851f91f094 Can I set the above configuration? (type 'yes' to accept): yes >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join .. >>> Performing Cluster Check (using node 172.38.0.11:6379) M: 15e62b1ceef1187afaeeefd1564aa8d76a27c819 172.38.0.11:6379slots:[0-5460] (5461 slots) master1 additional replica(s) S: 6fe819edf4f4b5613b1425363f825124d81332b7 172.38.0.14:6379slots: (0 slots) slavereplicates b919d9d08ebf96c66f7bed803b439bd6053c8078 M: b919d9d08ebf96c66f7bed803b439bd6053c8078 172.38.0.13:6379slots:[10923-16383] (5461 slots) master1 additional replica(s) S: 7d9245617ecd13a1615fadb6ffdc539a9397c6d2 172.38.0.16:6379slots: (0 slots) slavereplicates ce628d1171969d7369d5e0fefca8d4851f91f094 M: ce628d1171969d7369d5e0fefca8d4851f91f094 172.38.0.12:6379slots:[5461-10922] (5462 slots) master1 additional replica(s) S: f8fa5b0b678c710aef205f29d2a25f20db4428b8 172.38.0.15:6379slots: (0 slots) slavereplicates 15e62b1ceef1187afaeeefd1564aa8d76a27c819 [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.

    docker搭建集群完成!

    Springboot微服務打包Docker鏡像

  • 構建springboot項目

  • 打包應用

  • 編寫Dockerfile
    java:8已經不再使用,用openjdk:8來代替

    FROM openjdk:8COPY *.jar /app.jarCMD ["--server.port=8080"]EXPOSE 8080ENTRYPOINT ["java", "-jar", "/app.jar"]
  • 構建鏡像

    [root@VM-4-17-centos demo]# docker build -t docker-finish . Sending build context to Docker daemon 17.64MB Step 1/5 : FROM openjdk:8 8: Pulling from library/openjdk 001c52e26ad5: Pull complete d9d4b9b6e964: Pull complete 2068746827ec: Pull complete 9daef329d350: Pull complete d85151f15b66: Pull complete 52a8c426d30b: Pull complete 8754a66e0050: Pull complete Digest: sha256:86e863cc57215cfb181bd319736d0baf625fe8f150577f9eb58bd937f5452cb8 Status: Downloaded newer image for openjdk:8---> b273004037cc Step 2/5 : COPY *.jar /app.jar---> f19dfb67f413 Step 3/5 : CMD ["--server.port=8080"]---> Running in 9506ff0a26d3 Removing intermediate container 9506ff0a26d3---> 997aec0f7345 Step 4/5 : EXPOSE 8080---> Running in 5bbbfeaa8604 Removing intermediate container 5bbbfeaa8604---> 5099c2d20953 Step 5/5 : ENTRYPOINT ["java", "-jar", "/app.jar"]---> Running in 5b0c4cc8fb76 Removing intermediate container 5b0c4cc8fb76---> 8b793de54771 Successfully built 8b793de54771 Successfully tagged docker-finish:latest
  • 發布運行!

  • # 查看鏡像 [root@VM-4-17-centos demo]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker-finish latest 8b793de54771 35 seconds ago 544MB openjdk 8 b273004037cc 2 months ago 526MB tomcat 7.0 9dfd74e6bc2f 15 months ago 533MB redis 5.0.9-alpine3.11 3661c84ee9d0 2 years ago 29.8MB# 運行 [root@VM-4-17-centos demo]# docker run -d -p 3344:8080 --name finish docker-finish 3750bc373ac2291d3ee3f6ce4ba8f7bdb90775e66e313d71f511bbc439b52922[root@VM-4-17-centos demo]# curl localhost:3344 #如果不可以后面檢查springboot中RequestMapping的內容 hello,zwj

    記得開啟服務器的防火墻端口

    以后我們使用了Docker之后,給別人交付的就是一個鏡像!

    總結

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

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

    丁香啪啪综合成人亚洲 | 国产一区二区三区精品视频 | 国产无遮挡又黄又爽免费视频 | 国产在线一区二区三区四区五区 | 性开放的女人aaa片 | 亚洲中文字幕av在天堂 | 中文字幕+乱码+中文字幕一区 | 欧美 日韩 人妻 高清 中文 | 丰满人妻被黑人猛烈进入 | 亚洲性无码av中文字幕 | 一本大道久久东京热无码av | 国产精品无码一区二区桃花视频 | 亚洲人成人无码网www国产 | 久久亚洲精品成人无码 | 欧美三级不卡在线观看 | 中文字幕av伊人av无码av | 亚洲国产一区二区三区在线观看 | 少妇厨房愉情理9仑片视频 | 亚洲成a人片在线观看无码 | 亚洲精品国偷拍自产在线观看蜜桃 | 欧美精品无码一区二区三区 | 国产高潮视频在线观看 | 给我免费的视频在线观看 | 福利一区二区三区视频在线观看 | 国产97在线 | 亚洲 | 极品嫩模高潮叫床 | 中文字幕 亚洲精品 第1页 | 国产片av国语在线观看 | 熟妇人妻激情偷爽文 | 蜜臀aⅴ国产精品久久久国产老师 | 啦啦啦www在线观看免费视频 | 在线播放亚洲第一字幕 | 精品欧美一区二区三区久久久 | 亚洲aⅴ无码成人网站国产app | 久9re热视频这里只有精品 | 人妻体内射精一区二区三四 | 欧美怡红院免费全部视频 | 六月丁香婷婷色狠狠久久 | 欧美日韩精品 | 欧美一区二区三区视频在线观看 | 国产美女精品一区二区三区 | 日韩视频 中文字幕 视频一区 | 国产乱人偷精品人妻a片 | 欧美激情综合亚洲一二区 | 久久综合久久自在自线精品自 | 夜夜夜高潮夜夜爽夜夜爰爰 | 成人免费视频一区二区 | 亚洲熟妇自偷自拍另类 | 亚洲日韩中文字幕在线播放 | 成年美女黄网站色大免费全看 | 精品亚洲韩国一区二区三区 | 狠狠色噜噜狠狠狠狠7777米奇 | 强辱丰满人妻hd中文字幕 | 一本一道久久综合久久 | 一本大道伊人av久久综合 | 久久久久久久久888 | 国产人妻精品一区二区三区不卡 | 亚洲中文字幕成人无码 | 波多野结衣高清一区二区三区 | 久久精品女人天堂av免费观看 | 成人无码影片精品久久久 | 99久久久无码国产精品免费 | 国产乱人伦av在线无码 | 久久久国产精品无码免费专区 | 国产成人无码av片在线观看不卡 | 天干天干啦夜天干天2017 | 无码一区二区三区在线观看 | 纯爱无遮挡h肉动漫在线播放 | 少妇愉情理伦片bd | 亚洲 另类 在线 欧美 制服 | 国产精品亚洲а∨无码播放麻豆 | 在线播放免费人成毛片乱码 | 国产av剧情md精品麻豆 | 欧美xxxxx精品 | 男女性色大片免费网站 | 十八禁真人啪啪免费网站 | 99久久亚洲精品无码毛片 | 特大黑人娇小亚洲女 | 亚洲中文字幕乱码av波多ji | 性欧美疯狂xxxxbbbb | 亚洲精品无码国产 | 国产免费无码一区二区视频 | 精品国产国产综合精品 | 丝袜美腿亚洲一区二区 | 99视频精品全部免费免费观看 | 国产av人人夜夜澡人人爽麻豆 | 少妇太爽了在线观看 | 日韩精品无码一本二本三本色 | 2019nv天堂香蕉在线观看 | 一个人免费观看的www视频 | 久久www免费人成人片 | 成人性做爰aaa片免费看 | 精品国产av色一区二区深夜久久 | 国产欧美熟妇另类久久久 | 狠狠躁日日躁夜夜躁2020 | 免费人成网站视频在线观看 | 麻豆人妻少妇精品无码专区 | 国产精品va在线播放 | 在线播放免费人成毛片乱码 | 久久亚洲日韩精品一区二区三区 | 欧美日韩亚洲国产精品 | 奇米影视7777久久精品人人爽 | 老司机亚洲精品影院无码 | 日本一区二区更新不卡 | 国产精品人人妻人人爽 | 牛和人交xxxx欧美 | 国内老熟妇对白xxxxhd | 性开放的女人aaa片 | 久久午夜无码鲁丝片午夜精品 | 久久久久免费看成人影片 | 精品人妻av区 | av无码电影一区二区三区 | 久久综合香蕉国产蜜臀av | 亚洲gv猛男gv无码男同 | 国产精品亚洲五月天高清 | 中文字幕无码免费久久9一区9 | 亚洲精品国产第一综合99久久 | 亚洲第一无码av无码专区 | 性做久久久久久久免费看 | 精品午夜福利在线观看 | 日本精品少妇一区二区三区 | 青青青手机频在线观看 | 一本一道久久综合久久 | 久久久中文久久久无码 | 日本丰满护士爆乳xxxx | 人妻少妇精品无码专区二区 | 激情综合激情五月俺也去 | 无码人妻黑人中文字幕 | 成人无码精品1区2区3区免费看 | 中文字幕日韩精品一区二区三区 | 免费无码午夜福利片69 | 国产无遮挡又黄又爽免费视频 | 亚洲熟妇色xxxxx欧美老妇 | 国产超碰人人爽人人做人人添 | 爽爽影院免费观看 | 波多野结衣av一区二区全免费观看 | 国内少妇偷人精品视频免费 | 国产99久久精品一区二区 | 亚洲欧美日韩国产精品一区二区 | 99久久久国产精品无码免费 | 少妇人妻av毛片在线看 | 在线看片无码永久免费视频 | 狂野欧美激情性xxxx | 性欧美牲交xxxxx视频 | 亚洲精品美女久久久久久久 | 日韩av无码一区二区三区不卡 | 久久综合香蕉国产蜜臀av | 亚洲一区二区三区 | 国产免费无码一区二区视频 | 亚洲理论电影在线观看 | 亚洲精品一区二区三区四区五区 | 成人一在线视频日韩国产 | 亚洲最大成人网站 | 亚洲日韩精品欧美一区二区 | 国产精品无码mv在线观看 | 精品水蜜桃久久久久久久 | 亚洲成a人片在线观看无码3d | 纯爱无遮挡h肉动漫在线播放 | 少妇无码av无码专区在线观看 | 妺妺窝人体色www婷婷 | 少妇无码av无码专区在线观看 | 狠狠色噜噜狠狠狠狠7777米奇 | 人人超人人超碰超国产 | 国产精品久久久久影院嫩草 | 天天拍夜夜添久久精品大 | 无码人妻黑人中文字幕 | 欧美性猛交xxxx富婆 | 国产超级va在线观看视频 | 久久国产自偷自偷免费一区调 | 国产香蕉尹人视频在线 | 国产日产欧产精品精品app | 国产日产欧产精品精品app | 3d动漫精品啪啪一区二区中 | 丁香花在线影院观看在线播放 | 给我免费的视频在线观看 | 东京热男人av天堂 | 少妇性荡欲午夜性开放视频剧场 | 亚洲中文字幕无码一久久区 | av无码久久久久不卡免费网站 | 国产婷婷色一区二区三区在线 | 国产9 9在线 | 中文 | 纯爱无遮挡h肉动漫在线播放 | 中文字幕乱码中文乱码51精品 | 精品无码一区二区三区爱欲 | 亚洲国产精品无码久久久久高潮 | 人妻插b视频一区二区三区 | 一本无码人妻在中文字幕免费 | 免费中文字幕日韩欧美 | 亚洲熟妇色xxxxx欧美老妇y | 成人亚洲精品久久久久 | 久久www免费人成人片 | 久久综合九色综合97网 | 亚洲а∨天堂久久精品2021 | 国产午夜精品一区二区三区嫩草 | 高中生自慰www网站 | 黑人粗大猛烈进出高潮视频 | 成人免费视频一区二区 | 欧美大屁股xxxxhd黑色 | 最新国产麻豆aⅴ精品无码 | 清纯唯美经典一区二区 | 午夜精品一区二区三区在线观看 | 亚洲成a人一区二区三区 | 四虎影视成人永久免费观看视频 | 亚洲综合久久一区二区 | 国产精品久久久久7777 | 国产电影无码午夜在线播放 | 日韩精品无码一本二本三本色 | 99精品国产综合久久久久五月天 | 美女极度色诱视频国产 | 婷婷丁香六月激情综合啪 | 中文字幕无码日韩欧毛 | 久久综合狠狠综合久久综合88 | 老熟女重囗味hdxx69 | 兔费看少妇性l交大片免费 | 国产成人无码av片在线观看不卡 | 国产绳艺sm调教室论坛 | 亚洲色www成人永久网址 | 人人澡人人妻人人爽人人蜜桃 | 久久国产精品_国产精品 | 麻豆蜜桃av蜜臀av色欲av | 人人爽人人澡人人高潮 | 中文字幕乱码人妻无码久久 | 中文字幕 人妻熟女 | 97人妻精品一区二区三区 | 亚洲春色在线视频 | 国产无套内射久久久国产 | 国产av剧情md精品麻豆 | 一本久道久久综合狠狠爱 | 国产午夜亚洲精品不卡下载 | 亚洲色无码一区二区三区 | 欧美性猛交内射兽交老熟妇 | 131美女爱做视频 | 露脸叫床粗话东北少妇 | 国产人妖乱国产精品人妖 | 国产网红无码精品视频 | 无码国模国产在线观看 | 久久这里只有精品视频9 | 亚洲人成影院在线观看 | 少女韩国电视剧在线观看完整 | 97色伦图片97综合影院 | 久久午夜无码鲁丝片 | 久久99精品国产麻豆 | 久久久久亚洲精品中文字幕 | 天堂无码人妻精品一区二区三区 | 国产又爽又猛又粗的视频a片 | 一个人看的www免费视频在线观看 | 天天爽夜夜爽夜夜爽 | 在线天堂新版最新版在线8 | 99久久久无码国产精品免费 | 欧美乱妇无乱码大黄a片 | 国产精品久久久久久无码 | 一本色道久久综合狠狠躁 | 久久无码人妻影院 | 午夜嘿嘿嘿影院 | 国产乱人伦av在线无码 | 国产人妻大战黑人第1集 | 久久久久久久女国产乱让韩 | 麻豆果冻传媒2021精品传媒一区下载 | 内射白嫩少妇超碰 | 国产精品亚洲lv粉色 | 亚洲精品国产a久久久久久 | 亚洲男人av天堂午夜在 | 欧美老妇交乱视频在线观看 | 精品国产aⅴ无码一区二区 | 久久99精品久久久久久动态图 | 天天拍夜夜添久久精品 | 午夜无码区在线观看 | 国产9 9在线 | 中文 | 秋霞成人午夜鲁丝一区二区三区 | 国产精品无套呻吟在线 | 成人一在线视频日韩国产 | 夜精品a片一区二区三区无码白浆 | 极品尤物被啪到呻吟喷水 | 丰满人妻翻云覆雨呻吟视频 | √天堂资源地址中文在线 | 性开放的女人aaa片 | 少妇人妻大乳在线视频 | 日韩少妇内射免费播放 | 俄罗斯老熟妇色xxxx | 激情人妻另类人妻伦 | 九月婷婷人人澡人人添人人爽 | 亚洲精品一区二区三区婷婷月 | 中国女人内谢69xxxxxa片 | 狂野欧美激情性xxxx | 国产人成高清在线视频99最全资源 | aⅴ在线视频男人的天堂 | 男女下面进入的视频免费午夜 | 久久久亚洲欧洲日产国码αv | 丝袜人妻一区二区三区 | 亚洲精品一区二区三区在线观看 | 国产精品沙发午睡系列 | 丰满少妇熟乱xxxxx视频 | 亚洲国产av精品一区二区蜜芽 | 色欲久久久天天天综合网精品 | 任你躁国产自任一区二区三区 | 天海翼激烈高潮到腰振不止 | 日韩精品无码免费一区二区三区 | 欧美激情一区二区三区成人 | 天堂а√在线中文在线 | 色五月五月丁香亚洲综合网 | 在线观看欧美一区二区三区 | 麻豆果冻传媒2021精品传媒一区下载 | 一区二区三区高清视频一 | 国产成人无码av片在线观看不卡 | 无码精品国产va在线观看dvd | 日韩精品成人一区二区三区 | 亚洲国产精品久久久久久 | 国产做国产爱免费视频 | 国产成人精品三级麻豆 | 国产做国产爱免费视频 | 国产乱子伦视频在线播放 | 亚洲经典千人经典日产 | 亚洲一区二区三区四区 | 好男人www社区 | 日韩av无码一区二区三区 | 欧美人与禽猛交狂配 | 人人澡人人妻人人爽人人蜜桃 | 中文字幕av无码一区二区三区电影 | 国产精品高潮呻吟av久久 | 欧洲精品码一区二区三区免费看 | 人妻互换免费中文字幕 | 99久久婷婷国产综合精品青草免费 | 亚洲熟熟妇xxxx | 在教室伦流澡到高潮hnp视频 | 中文字幕av无码一区二区三区电影 | 鲁一鲁av2019在线 | 日本精品久久久久中文字幕 | 精品一区二区三区波多野结衣 | 国产精品久久国产精品99 | 日日摸夜夜摸狠狠摸婷婷 | 精品厕所偷拍各类美女tp嘘嘘 | 野外少妇愉情中文字幕 | 免费无码的av片在线观看 | 亚洲国产精品久久久天堂 | 少妇高潮喷潮久久久影院 | 国产精品美女久久久网av | 装睡被陌生人摸出水好爽 | 扒开双腿吃奶呻吟做受视频 | 日日噜噜噜噜夜夜爽亚洲精品 | 水蜜桃亚洲一二三四在线 | 日本护士毛茸茸高潮 | 国产精品成人av在线观看 | 国产精品va在线播放 | 丰满肥臀大屁股熟妇激情视频 | 亚洲精品国产a久久久久久 | 强奷人妻日本中文字幕 | 国产乡下妇女做爰 | 国产午夜无码精品免费看 | 亚洲一区二区三区含羞草 | 亚洲精品无码国产 | 欧美自拍另类欧美综合图片区 | 无码人妻精品一区二区三区不卡 | 国产无av码在线观看 | 精品国产青草久久久久福利 | 国产精品亚洲一区二区三区喷水 | 亚洲精品成人福利网站 | 久久99精品久久久久久动态图 | 久久综合给久久狠狠97色 | 国产欧美精品一区二区三区 | 亚洲va中文字幕无码久久不卡 | 丰满岳乱妇在线观看中字无码 | 乱人伦人妻中文字幕无码久久网 | 亚洲成av人影院在线观看 | 人妻中文无码久热丝袜 | 久久精品无码一区二区三区 | 国产精品无码成人午夜电影 | a在线观看免费网站大全 | 日本肉体xxxx裸交 | 国产精品久久久久无码av色戒 | 亚洲国产综合无码一区 | 国产手机在线αⅴ片无码观看 | 伊人久久大香线蕉午夜 | 蜜桃视频插满18在线观看 | 亚洲色www成人永久网址 | 天堂久久天堂av色综合 | 久久精品国产一区二区三区肥胖 | 日韩欧美群交p片內射中文 | 久久精品国产99久久6动漫 | 少妇久久久久久人妻无码 | 国精品人妻无码一区二区三区蜜柚 | 激情亚洲一区国产精品 | 天堂亚洲2017在线观看 | 亚洲国产综合无码一区 | 亚洲s码欧洲m码国产av | 大肉大捧一进一出视频出来呀 | 免费无码av一区二区 | 精品乱子伦一区二区三区 | 日韩欧美中文字幕在线三区 | 无套内谢老熟女 | 国产精品内射视频免费 | 红桃av一区二区三区在线无码av | 成人无码精品1区2区3区免费看 | 内射老妇bbwx0c0ck | 夜先锋av资源网站 | 日韩精品无码一本二本三本色 | 高潮毛片无遮挡高清免费视频 | 亚洲阿v天堂在线 | 4hu四虎永久在线观看 | 理论片87福利理论电影 | 国产av无码专区亚洲a∨毛片 | 国产精品理论片在线观看 | 老子影院午夜精品无码 | 亚洲成a人片在线观看无码3d | 国产一区二区三区精品视频 | 国产精品久久久久久亚洲毛片 | 伊人色综合久久天天小片 | www国产亚洲精品久久久日本 | 国产莉萝无码av在线播放 | 国内精品人妻无码久久久影院 | 无码一区二区三区在线观看 | 国产精品久久久久久无码 | 亚洲娇小与黑人巨大交 | 丰腴饱满的极品熟妇 | 中文字幕无码日韩欧毛 | 麻豆av传媒蜜桃天美传媒 | 亚洲综合在线一区二区三区 | 久在线观看福利视频 | 日韩精品成人一区二区三区 | 日韩精品无码一区二区中文字幕 | 丰满少妇人妻久久久久久 | 无码人妻少妇伦在线电影 | 国产午夜福利100集发布 | 巨爆乳无码视频在线观看 | 欧美日韩综合一区二区三区 | 亚洲gv猛男gv无码男同 | 中文字幕人妻无码一区二区三区 | 六十路熟妇乱子伦 | 粉嫩少妇内射浓精videos | 久久久国产一区二区三区 | www国产亚洲精品久久久日本 | 99麻豆久久久国产精品免费 | 一区二区传媒有限公司 | 嫩b人妻精品一区二区三区 | 国产情侣作爱视频免费观看 | 亚洲娇小与黑人巨大交 | 欧美丰满熟妇xxxx性ppx人交 | 欧美freesex黑人又粗又大 | 人妻少妇被猛烈进入中文字幕 | 国产精品嫩草久久久久 | 免费播放一区二区三区 | 色窝窝无码一区二区三区色欲 | 激情内射日本一区二区三区 | 伊人久久婷婷五月综合97色 | 婷婷综合久久中文字幕蜜桃三电影 | 久久精品丝袜高跟鞋 | 国産精品久久久久久久 | 男女超爽视频免费播放 | 国产精品对白交换视频 | 欧洲精品码一区二区三区免费看 | 男女下面进入的视频免费午夜 | 在线天堂新版最新版在线8 | 成 人影片 免费观看 | 欧美xxxx黑人又粗又长 | 日本丰满熟妇videos | 亚洲人成网站色7799 | 亚洲高清偷拍一区二区三区 | av香港经典三级级 在线 | 欧洲熟妇精品视频 | 少妇人妻av毛片在线看 | 精品水蜜桃久久久久久久 | 夫妻免费无码v看片 | 人人妻人人澡人人爽欧美一区九九 | 国内老熟妇对白xxxxhd | 午夜男女很黄的视频 | 欧美自拍另类欧美综合图片区 | 国产莉萝无码av在线播放 | 无码人妻丰满熟妇区五十路百度 | 亚洲精品一区二区三区四区五区 | 天天做天天爱天天爽综合网 | 国产精品沙发午睡系列 | 欧洲熟妇色 欧美 | 无码av最新清无码专区吞精 | 亚洲熟熟妇xxxx | 夜夜影院未满十八勿进 | 天海翼激烈高潮到腰振不止 | 久久综合狠狠综合久久综合88 | 久久aⅴ免费观看 | 乱人伦人妻中文字幕无码久久网 | 国产亚av手机在线观看 | 精品国产一区二区三区av 性色 | 在线观看欧美一区二区三区 | 国产午夜亚洲精品不卡 | 久久午夜无码鲁丝片秋霞 | 国产亚洲人成a在线v网站 | 亚洲熟妇色xxxxx亚洲 | 美女扒开屁股让男人桶 | 99在线 | 亚洲 | 成人av无码一区二区三区 | 99久久婷婷国产综合精品青草免费 | 在线欧美精品一区二区三区 | 中文字幕无码免费久久99 | 色综合天天综合狠狠爱 | 三上悠亚人妻中文字幕在线 | 午夜精品一区二区三区在线观看 | 国产明星裸体无码xxxx视频 | 精品一区二区不卡无码av | 帮老师解开蕾丝奶罩吸乳网站 | 动漫av一区二区在线观看 | 熟妇人妻无码xxx视频 | 无码av岛国片在线播放 | 国产精品欧美成人 | 亚洲码国产精品高潮在线 | 人人澡人人妻人人爽人人蜜桃 | 国产成人精品三级麻豆 | 综合激情五月综合激情五月激情1 | 美女张开腿让人桶 | 蜜桃av抽搐高潮一区二区 | 国产精品久久久 | 国产精品igao视频网 | 久久综合给合久久狠狠狠97色 | 日韩欧美群交p片內射中文 | 无码av最新清无码专区吞精 | 妺妺窝人体色www婷婷 | 东京热一精品无码av | 国产精品高潮呻吟av久久4虎 | 国内精品一区二区三区不卡 | 四虎国产精品一区二区 | 亚洲乱码国产乱码精品精 | 日韩少妇内射免费播放 | 欧美怡红院免费全部视频 | 荫蒂添的好舒服视频囗交 | 国产精品视频免费播放 | 国产成人一区二区三区在线观看 | 国产明星裸体无码xxxx视频 | 久久亚洲精品中文字幕无男同 | 久久久久成人片免费观看蜜芽 | 国产无套粉嫩白浆在线 | 欧美日韩在线亚洲综合国产人 | 欧美怡红院免费全部视频 | 97精品国产97久久久久久免费 | 国产明星裸体无码xxxx视频 | 日韩欧美中文字幕公布 | 少妇高潮喷潮久久久影院 | 两性色午夜视频免费播放 | 国产成人精品一区二区在线小狼 | 久久久久亚洲精品男人的天堂 | 久久亚洲精品成人无码 | 久久天天躁夜夜躁狠狠 | 99精品国产综合久久久久五月天 | 国产激情精品一区二区三区 | 永久免费精品精品永久-夜色 | 九九热爱视频精品 | 国产成人久久精品流白浆 | 成人免费视频视频在线观看 免费 | 亚洲精品无码人妻无码 | 人妻熟女一区 | 亚洲s色大片在线观看 | 日韩人妻少妇一区二区三区 | 国产午夜无码视频在线观看 | 色婷婷综合中文久久一本 | 两性色午夜免费视频 | 日本护士xxxxhd少妇 | 18禁黄网站男男禁片免费观看 | 99er热精品视频 | 欧美老熟妇乱xxxxx | 国产香蕉尹人综合在线观看 | 国产精品第一国产精品 | 久激情内射婷内射蜜桃人妖 | 一本久久伊人热热精品中文字幕 | 国产后入清纯学生妹 | 日本又色又爽又黄的a片18禁 | 女人被爽到呻吟gif动态图视看 | 少妇人妻偷人精品无码视频 | 国产一区二区三区四区五区加勒比 | 成年美女黄网站色大免费全看 | 在教室伦流澡到高潮hnp视频 | 97夜夜澡人人双人人人喊 | 欧美xxxx黑人又粗又长 | 亚洲色欲久久久综合网东京热 | 久激情内射婷内射蜜桃人妖 | 亚洲 a v无 码免 费 成 人 a v | 无码一区二区三区在线观看 | 国产精品99爱免费视频 | 老熟女重囗味hdxx69 | 国产美女极度色诱视频www | 一区二区三区高清视频一 | 激情五月综合色婷婷一区二区 | av无码电影一区二区三区 | 亚洲精品中文字幕乱码 | 欧美乱妇无乱码大黄a片 | 日本一卡二卡不卡视频查询 | 日韩欧美中文字幕在线三区 | 美女张开腿让人桶 | 亚洲国产精品毛片av不卡在线 | 最近免费中文字幕中文高清百度 | 国产一精品一av一免费 | 老熟女乱子伦 | 久久无码中文字幕免费影院蜜桃 | 久久久国产一区二区三区 | 一区二区三区高清视频一 | 97久久精品无码一区二区 | 国产电影无码午夜在线播放 | 国产午夜无码视频在线观看 | 亚洲成熟女人毛毛耸耸多 | 国产偷抇久久精品a片69 | 亚洲国产日韩a在线播放 | 中文字幕乱码亚洲无线三区 | 亚洲精品www久久久 | 人人妻人人澡人人爽欧美精品 | 大色综合色综合网站 | 久久精品国产99精品亚洲 | 亚洲日本va午夜在线电影 | 小sao货水好多真紧h无码视频 | 国产亚洲精品久久久久久 | 国产女主播喷水视频在线观看 | 激情内射日本一区二区三区 | 成熟妇人a片免费看网站 | 日本熟妇浓毛 | 久久99热只有频精品8 | 亚洲欧美国产精品专区久久 | 亚洲精品午夜国产va久久成人 | 久久婷婷五月综合色国产香蕉 | 成人免费视频视频在线观看 免费 | 国产精品久久久午夜夜伦鲁鲁 | 国产亚洲精品久久久久久久 | 精品无码成人片一区二区98 | 国产国产精品人在线视 | 色综合久久中文娱乐网 | 久久亚洲日韩精品一区二区三区 | 国产真人无遮挡作爱免费视频 | yw尤物av无码国产在线观看 | 3d动漫精品啪啪一区二区中 | 图片区 小说区 区 亚洲五月 | 偷窥村妇洗澡毛毛多 | 亚洲国产精品无码久久久久高潮 | 日韩视频 中文字幕 视频一区 | 日韩人妻无码中文字幕视频 | 一个人看的www免费视频在线观看 | 免费网站看v片在线18禁无码 | 亚洲精品国偷拍自产在线观看蜜桃 | 蜜臀av在线播放 久久综合激激的五月天 | 国产三级久久久精品麻豆三级 | 高中生自慰www网站 | 国产另类ts人妖一区二区 | 玩弄人妻少妇500系列视频 | 丰满岳乱妇在线观看中字无码 | 国产成人精品优优av | 国产特级毛片aaaaaa高潮流水 | 日日摸日日碰夜夜爽av | 无码国内精品人妻少妇 | 天堂亚洲2017在线观看 | 熟妇女人妻丰满少妇中文字幕 | 欧美亚洲日韩国产人成在线播放 | 亚洲人成网站免费播放 | 久久精品99久久香蕉国产色戒 | 小泽玛莉亚一区二区视频在线 | 久久综合九色综合欧美狠狠 | 性色欲网站人妻丰满中文久久不卡 | 国产精品无码久久av | 2019nv天堂香蕉在线观看 | 女人被男人躁得好爽免费视频 | 亚洲欧美日韩成人高清在线一区 | 国内精品久久毛片一区二区 | 无码人妻出轨黑人中文字幕 | 亚洲国精产品一二二线 | 欧美精品一区二区精品久久 | 国产热a欧美热a在线视频 | 成人性做爰aaa片免费看 | 亚洲国产精品一区二区第一页 | 欧美老妇交乱视频在线观看 | 成人欧美一区二区三区 | 亚洲经典千人经典日产 | 欧美日韩一区二区综合 | 国产女主播喷水视频在线观看 | 精品久久久久久人妻无码中文字幕 | 午夜精品一区二区三区的区别 | 久久综合给合久久狠狠狠97色 | 在线а√天堂中文官网 | 在线播放亚洲第一字幕 | 波多野结衣高清一区二区三区 | 鲁一鲁av2019在线 | 性色欲网站人妻丰满中文久久不卡 | 亚洲狠狠色丁香婷婷综合 | 波多野结衣高清一区二区三区 | 亚洲欧洲无卡二区视頻 | 日韩无套无码精品 | 亚洲自偷精品视频自拍 | 欧美老熟妇乱xxxxx | 精品无码av一区二区三区 | 久青草影院在线观看国产 | 又大又硬又爽免费视频 | 小sao货水好多真紧h无码视频 | 西西人体www44rt大胆高清 | 亚洲国产成人a精品不卡在线 | 少妇被粗大的猛进出69影院 | 久久天天躁狠狠躁夜夜免费观看 | 波多野结衣高清一区二区三区 | 国产精品欧美成人 | 国产内射爽爽大片视频社区在线 | 美女扒开屁股让男人桶 | 国产另类ts人妖一区二区 | 男人扒开女人内裤强吻桶进去 | 亚洲乱码国产乱码精品精 | 18精品久久久无码午夜福利 | 无码帝国www无码专区色综合 | 国产成人人人97超碰超爽8 | 1000部啪啪未满十八勿入下载 | 日产精品高潮呻吟av久久 | 国产精品久免费的黄网站 | 女人高潮内射99精品 | 亚欧洲精品在线视频免费观看 | 国产精品高潮呻吟av久久 | 天天av天天av天天透 | 天堂а√在线中文在线 | 装睡被陌生人摸出水好爽 | 无码人妻黑人中文字幕 | 精品无码成人片一区二区98 | 老子影院午夜精品无码 | 国语精品一区二区三区 | 国产精品沙发午睡系列 | 狠狠色欧美亚洲狠狠色www | 中国女人内谢69xxxxxa片 | 久久综合激激的五月天 | 久久精品国产一区二区三区 | 日本丰满熟妇videos | 欧美精品一区二区精品久久 | 亚洲区小说区激情区图片区 | 偷窥日本少妇撒尿chinese | 一区二区三区乱码在线 | 欧洲 | 亚洲日韩一区二区 | 亚洲一区二区三区含羞草 | 欧美日本精品一区二区三区 | 国产成人午夜福利在线播放 | 四虎4hu永久免费 | 久久国产精品偷任你爽任你 | 日本爽爽爽爽爽爽在线观看免 | 青青久在线视频免费观看 | 午夜男女很黄的视频 | 2020久久超碰国产精品最新 | 精品国产成人一区二区三区 | 亚洲成av人在线观看网址 | 国色天香社区在线视频 | 无码免费一区二区三区 | 蜜臀aⅴ国产精品久久久国产老师 | 日韩精品久久久肉伦网站 | 亚洲区欧美区综合区自拍区 | 55夜色66夜色国产精品视频 | 夜夜高潮次次欢爽av女 | 国产一区二区不卡老阿姨 | 18黄暴禁片在线观看 | 国产国语老龄妇女a片 | 亚洲一区二区三区偷拍女厕 | aⅴ在线视频男人的天堂 | 久久久精品成人免费观看 | 粉嫩少妇内射浓精videos | 亚洲爆乳无码专区 | 人人澡人摸人人添 | 国产绳艺sm调教室论坛 | 国产黄在线观看免费观看不卡 | 国产精品igao视频网 | 国产精品久久久午夜夜伦鲁鲁 | 国产艳妇av在线观看果冻传媒 | 最新版天堂资源中文官网 | 欧美高清在线精品一区 | 精品人妻人人做人人爽夜夜爽 | 正在播放老肥熟妇露脸 | 国产两女互慰高潮视频在线观看 | 粗大的内捧猛烈进出视频 | 久久国产精品_国产精品 | 人妻插b视频一区二区三区 | 欧美怡红院免费全部视频 | 亚洲一区二区三区播放 | 国产精品高潮呻吟av久久 | 给我免费的视频在线观看 | 人妻体内射精一区二区三四 | 曰韩无码二三区中文字幕 | 日本xxxx色视频在线观看免费 | 超碰97人人射妻 | 水蜜桃色314在线观看 | 成年美女黄网站色大免费全看 | 性色av无码免费一区二区三区 | 理论片87福利理论电影 | 国产精品自产拍在线观看 | 女人被男人躁得好爽免费视频 | 亚洲日韩精品欧美一区二区 | 亚洲啪av永久无码精品放毛片 | 日韩 欧美 动漫 国产 制服 | 欧美国产日韩亚洲中文 | 亚洲精品一区二区三区四区五区 | 呦交小u女精品视频 | 欧美兽交xxxx×视频 | 国产乱人伦偷精品视频 | 色欲综合久久中文字幕网 | 在线天堂新版最新版在线8 | 人妻夜夜爽天天爽三区 | 国产亚洲美女精品久久久2020 | 天天爽夜夜爽夜夜爽 | 国产在线精品一区二区三区直播 | 精品一区二区三区波多野结衣 | 国产色xx群视频射精 | 国产又爽又猛又粗的视频a片 | 欧美激情一区二区三区成人 | 夜夜高潮次次欢爽av女 | 成人亚洲精品久久久久软件 | 成人免费无码大片a毛片 | 俄罗斯老熟妇色xxxx | 国产成人精品视频ⅴa片软件竹菊 | 98国产精品综合一区二区三区 | 色五月五月丁香亚洲综合网 | 四虎国产精品免费久久 | 日本大香伊一区二区三区 | 麻豆果冻传媒2021精品传媒一区下载 | 国产精品99久久精品爆乳 | 搡女人真爽免费视频大全 | 99精品视频在线观看免费 | 男人的天堂av网站 | 四虎永久在线精品免费网址 | 激情内射日本一区二区三区 | 免费观看又污又黄的网站 | 97无码免费人妻超级碰碰夜夜 | 久久99久久99精品中文字幕 | 久久人人爽人人爽人人片ⅴ | 无码人妻丰满熟妇区五十路百度 | 亚洲一区二区三区无码久久 | 无码乱肉视频免费大全合集 | 日韩人妻无码中文字幕视频 | 欧美激情一区二区三区成人 | 欧美freesex黑人又粗又大 | 国产成人精品三级麻豆 | 久久精品女人天堂av免费观看 | 天堂久久天堂av色综合 | 日本熟妇大屁股人妻 | 欧美人与禽猛交狂配 | 亚洲精品国产第一综合99久久 | 丰满人妻翻云覆雨呻吟视频 | 女高中生第一次破苞av | 欧美日韩人成综合在线播放 | 波多野42部无码喷潮在线 | 98国产精品综合一区二区三区 | 少妇性荡欲午夜性开放视频剧场 | 婷婷丁香五月天综合东京热 | 久久久久国色av免费观看性色 | 国产精品二区一区二区aⅴ污介绍 | 久久精品国产一区二区三区 | 日本精品少妇一区二区三区 | 国产精品无套呻吟在线 | 亚洲欧洲无卡二区视頻 | 亚洲日韩av片在线观看 | 在线精品国产一区二区三区 | 国产97在线 | 亚洲 | 精品午夜福利在线观看 | 精品成在人线av无码免费看 | 亚洲国产一区二区三区在线观看 | 亚洲狠狠婷婷综合久久 | 国产精品资源一区二区 | 婷婷丁香五月天综合东京热 | 成人女人看片免费视频放人 | 少女韩国电视剧在线观看完整 | 狂野欧美性猛xxxx乱大交 | 亚洲午夜无码久久 | 无套内谢的新婚少妇国语播放 | 久久精品女人天堂av免费观看 | 人妻与老人中文字幕 | 精品成在人线av无码免费看 | 成人免费无码大片a毛片 | 国产av一区二区精品久久凹凸 | 欧美激情综合亚洲一二区 | 亚洲欧洲日本无在线码 | 国产无套粉嫩白浆在线 | 久在线观看福利视频 | 亚洲理论电影在线观看 | 四虎影视成人永久免费观看视频 | 成熟女人特级毛片www免费 | 日日碰狠狠躁久久躁蜜桃 | 亚洲成av人片在线观看无码不卡 | 国产精品久久福利网站 | 天海翼激烈高潮到腰振不止 | 日产精品99久久久久久 | 欧美丰满熟妇xxxx性ppx人交 | 午夜无码人妻av大片色欲 | 国产区女主播在线观看 | 久激情内射婷内射蜜桃人妖 | 午夜无码区在线观看 | 国产熟女一区二区三区四区五区 | 天堂а√在线地址中文在线 | 亚洲自偷精品视频自拍 | 国产精华av午夜在线观看 | 亚洲精品国产精品乱码视色 | 国产精品久久久久久久9999 | 国内揄拍国内精品少妇国语 | 国产精品二区一区二区aⅴ污介绍 | 久久久精品成人免费观看 | 日本丰满护士爆乳xxxx | 香蕉久久久久久av成人 | 日韩av激情在线观看 | 成熟女人特级毛片www免费 | 中文字幕av伊人av无码av | 九月婷婷人人澡人人添人人爽 | 欧美人与动性行为视频 | 秋霞成人午夜鲁丝一区二区三区 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 强伦人妻一区二区三区视频18 | 欧美一区二区三区 | 亚洲精品国产a久久久久久 | 粗大的内捧猛烈进出视频 | 国产精品人人妻人人爽 | 精品国产av色一区二区深夜久久 | 99久久人妻精品免费一区 | 熟妇人妻无码xxx视频 | 精品人妻人人做人人爽 | 亚洲の无码国产の无码步美 | 精品一区二区不卡无码av | 蜜臀av在线播放 久久综合激激的五月天 | 人妻少妇精品无码专区二区 | 久久久久av无码免费网 | 国产乱码精品一品二品 | www成人国产高清内射 | 永久免费观看美女裸体的网站 | 麻花豆传媒剧国产免费mv在线 | 国内少妇偷人精品视频免费 | 麻豆md0077饥渴少妇 | 亚洲精品美女久久久久久久 | 亚洲 日韩 欧美 成人 在线观看 | 激情爆乳一区二区三区 | 久久久久亚洲精品中文字幕 | 中文字幕日产无线码一区 | 日本一卡2卡3卡四卡精品网站 | 欧美 日韩 亚洲 在线 | 人妻无码αv中文字幕久久琪琪布 | 国产亚洲日韩欧美另类第八页 | 久激情内射婷内射蜜桃人妖 | 婷婷六月久久综合丁香 | 丰满少妇女裸体bbw | 国产无遮挡又黄又爽又色 | 无码人妻丰满熟妇区毛片18 | 亚洲中文字幕在线无码一区二区 | 国产精品久久久久久无码 | 免费无码av一区二区 | 无遮挡啪啪摇乳动态图 | 97色伦图片97综合影院 | 日韩人妻系列无码专区 | 人人妻人人藻人人爽欧美一区 | 久久国产精品精品国产色婷婷 | 欧美日韩一区二区三区自拍 | 清纯唯美经典一区二区 | 无码精品国产va在线观看dvd | 国产无套内射久久久国产 | 欧美国产日产一区二区 | 久久精品女人天堂av免费观看 | 欧美怡红院免费全部视频 | 性啪啪chinese东北女人 | 亚洲精品国产精品乱码视色 | 国产一区二区三区四区五区加勒比 | 极品嫩模高潮叫床 | 亚洲阿v天堂在线 | 亚洲理论电影在线观看 | 国产成人精品无码播放 | 成人欧美一区二区三区黑人 | 51国偷自产一区二区三区 | 亚洲综合伊人久久大杳蕉 | 亚洲一区二区三区在线观看网站 | 久久久久国色av免费观看性色 | 任你躁国产自任一区二区三区 | 久久国产劲爆∧v内射 | 精品无码av一区二区三区 | 国内精品九九久久久精品 | 国产精品99久久精品爆乳 | 97精品国产97久久久久久免费 | 成人精品视频一区二区三区尤物 | 九九久久精品国产免费看小说 | 日日碰狠狠丁香久燥 | 无码吃奶揉捏奶头高潮视频 | 午夜免费福利小电影 | 日本www一道久久久免费榴莲 | 国产精品久久久久久久9999 | 久久久久久久女国产乱让韩 | 欧美黑人乱大交 | 亚洲熟妇色xxxxx欧美老妇 | 亚洲色欲色欲欲www在线 | 天天拍夜夜添久久精品大 | 一本色道婷婷久久欧美 | 特大黑人娇小亚洲女 | 荫蒂被男人添的好舒服爽免费视频 | 精品亚洲成av人在线观看 | 欧美一区二区三区 | 99久久人妻精品免费一区 | 亚洲熟妇色xxxxx欧美老妇 | 亚洲欧美日韩成人高清在线一区 | 任你躁国产自任一区二区三区 | 亚洲午夜无码久久 | 亚洲aⅴ无码成人网站国产app | 乱码av麻豆丝袜熟女系列 | 亚洲欧洲日本综合aⅴ在线 | 国产手机在线αⅴ片无码观看 | 成在人线av无码免观看麻豆 | 永久免费精品精品永久-夜色 | 国产精品丝袜黑色高跟鞋 | 熟妇女人妻丰满少妇中文字幕 | 国产激情综合五月久久 | 妺妺窝人体色www在线小说 | 国产精品人人爽人人做我的可爱 | 国产人妻大战黑人第1集 | 99精品视频在线观看免费 | 纯爱无遮挡h肉动漫在线播放 | 未满小14洗澡无码视频网站 | 精品一二三区久久aaa片 | 亚洲日韩乱码中文无码蜜桃臀网站 | 日日碰狠狠丁香久燥 | 国产成人精品久久亚洲高清不卡 | 国产黄在线观看免费观看不卡 | 对白脏话肉麻粗话av | 一本久道久久综合狠狠爱 | 亚洲aⅴ无码成人网站国产app | 骚片av蜜桃精品一区 | 国产精品无码成人午夜电影 | 国产免费无码一区二区视频 | 午夜肉伦伦影院 | 欧美性猛交内射兽交老熟妇 | 亚洲欧美国产精品久久 | 窝窝午夜理论片影院 | 国产色精品久久人妻 | 国产亚洲精品久久久闺蜜 | 四虎影视成人永久免费观看视频 | 大肉大捧一进一出好爽视频 | 免费国产黄网站在线观看 | 国产无遮挡又黄又爽又色 | 国产福利视频一区二区 | 精品偷自拍另类在线观看 | 国产黄在线观看免费观看不卡 | 国产成人精品无码播放 | 国产成人久久精品流白浆 | 男人和女人高潮免费网站 | 女人高潮内射99精品 | 在线а√天堂中文官网 | 奇米影视7777久久精品 | 国产69精品久久久久app下载 | 亚洲小说春色综合另类 | 亚洲自偷精品视频自拍 | 成年女人永久免费看片 | 精品国产一区二区三区四区 | 亚洲日本va午夜在线电影 | 四十如虎的丰满熟妇啪啪 | 久久伊人色av天堂九九小黄鸭 | 国产无套粉嫩白浆在线 | 日日鲁鲁鲁夜夜爽爽狠狠 | 一个人看的视频www在线 | 亚洲中文字幕无码一久久区 | 麻豆av传媒蜜桃天美传媒 | 99视频精品全部免费免费观看 | 欧美性生交活xxxxxdddd | 自拍偷自拍亚洲精品被多人伦好爽 | 国内老熟妇对白xxxxhd | 国产精品多人p群无码 | 国产乱人无码伦av在线a | 亚洲aⅴ无码成人网站国产app | 久久精品一区二区三区四区 | 曰韩少妇内射免费播放 | 久久综合九色综合欧美狠狠 | aⅴ亚洲 日韩 色 图网站 播放 | 久久久久免费精品国产 | 精品人人妻人人澡人人爽人人 | 欧美人与善在线com | 99久久99久久免费精品蜜桃 | 88国产精品欧美一区二区三区 | 狠狠色色综合网站 | 久久精品国产精品国产精品污 | 亚洲性无码av中文字幕 | 国产两女互慰高潮视频在线观看 | 青青青爽视频在线观看 | 欧美野外疯狂做受xxxx高潮 | 少妇愉情理伦片bd | 亚洲精品久久久久中文第一幕 | 日日摸天天摸爽爽狠狠97 | 午夜福利一区二区三区在线观看 | 又色又爽又黄的美女裸体网站 | 国产精品二区一区二区aⅴ污介绍 | 精品人妻人人做人人爽 | 兔费看少妇性l交大片免费 | 亚洲最大成人网站 | 久久亚洲国产成人精品性色 | 97夜夜澡人人爽人人喊中国片 | 久久午夜夜伦鲁鲁片无码免费 | 精品国产av色一区二区深夜久久 | 99久久精品日本一区二区免费 | 亚洲精品鲁一鲁一区二区三区 | 国内精品久久久久久中文字幕 | 在线视频网站www色 | 国产午夜亚洲精品不卡下载 | 欧美日韩一区二区三区自拍 | 亚洲综合伊人久久大杳蕉 | 男女下面进入的视频免费午夜 | 青草青草久热国产精品 | 伊人色综合久久天天小片 | 精品久久久无码中文字幕 | 国语自产偷拍精品视频偷 | 在教室伦流澡到高潮hnp视频 | 扒开双腿疯狂进出爽爽爽视频 | 国产av一区二区三区最新精品 | 97人妻精品一区二区三区 | 在线 国产 欧美 亚洲 天堂 | 国产乱码精品一品二品 | 国产精品人人爽人人做我的可爱 | 久久人人爽人人爽人人片av高清 | 久久久久成人片免费观看蜜芽 | 欧美xxxx黑人又粗又长 | 欧美第一黄网免费网站 | 无码福利日韩神码福利片 | 乱人伦人妻中文字幕无码久久网 | 婷婷六月久久综合丁香 | 国产香蕉尹人综合在线观看 | 丁香花在线影院观看在线播放 | 天堂无码人妻精品一区二区三区 | 日本精品人妻无码77777 天堂一区人妻无码 | 强伦人妻一区二区三区视频18 | 亚洲成色www久久网站 | 天下第一社区视频www日本 | 亚洲国产精品毛片av不卡在线 | 日本va欧美va欧美va精品 | 国产口爆吞精在线视频 | 高潮毛片无遮挡高清免费视频 | 国产片av国语在线观看 | 国产精品视频免费播放 | 成人aaa片一区国产精品 | 无码人妻少妇伦在线电影 | 草草网站影院白丝内射 | 99riav国产精品视频 | 一本无码人妻在中文字幕免费 | 精品乱子伦一区二区三区 | 无码人妻出轨黑人中文字幕 | 国产香蕉97碰碰久久人人 | 午夜理论片yy44880影院 | 一本色道久久综合狠狠躁 | 亚洲区小说区激情区图片区 | 久久无码中文字幕免费影院蜜桃 | 国产亚洲精品精品国产亚洲综合 | 九九在线中文字幕无码 | 国产在线精品一区二区三区直播 | 亚洲国产一区二区三区在线观看 | 久久久久久久久888 | 中文字幕 亚洲精品 第1页 | 亚洲国产精品一区二区第一页 | 精品亚洲韩国一区二区三区 | 少妇的肉体aa片免费 | 宝宝好涨水快流出来免费视频 | 免费无码av一区二区 | 国产综合在线观看 | 国产超级va在线观看视频 | 免费人成在线视频无码 | 欧美 亚洲 国产 另类 | 精品国产乱码久久久久乱码 | 亚洲午夜福利在线观看 | 欧美国产亚洲日韩在线二区 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产日产欧产精品精品app | 日本一区二区三区免费高清 | 中文精品久久久久人妻不卡 | 爽爽影院免费观看 | 熟妇人妻无码xxx视频 | 国产97色在线 | 免 | 精品无人国产偷自产在线 | 小泽玛莉亚一区二区视频在线 | 特级做a爰片毛片免费69 | 超碰97人人做人人爱少妇 | 狠狠综合久久久久综合网 | 亲嘴扒胸摸屁股激烈网站 | 亚洲国产午夜精品理论片 | 无码av中文字幕免费放 | 18黄暴禁片在线观看 | 精品亚洲韩国一区二区三区 | 国产精品理论片在线观看 | 综合人妻久久一区二区精品 | 99久久婷婷国产综合精品青草免费 | 日韩人妻无码中文字幕视频 | 久久99精品久久久久久 | 午夜精品一区二区三区在线观看 | 国产av无码专区亚洲a∨毛片 | 爆乳一区二区三区无码 | 一本无码人妻在中文字幕免费 | 人妻与老人中文字幕 | 亲嘴扒胸摸屁股激烈网站 | 精品无码一区二区三区的天堂 | 亚洲小说图区综合在线 | 国产精品久久福利网站 | 国产色在线 | 国产 | 少妇被粗大的猛进出69影院 | 中文字幕中文有码在线 | 一本无码人妻在中文字幕免费 | 成人三级无码视频在线观看 | 中文字幕人成乱码熟女app | 国产精品高潮呻吟av久久4虎 | 搡女人真爽免费视频大全 | 丰腴饱满的极品熟妇 | 四虎国产精品免费久久 | av无码电影一区二区三区 | 免费看男女做好爽好硬视频 | 亚洲一区二区三区四区 | 荫蒂被男人添的好舒服爽免费视频 | 免费无码的av片在线观看 | 天天摸天天透天天添 | 国产又爽又黄又刺激的视频 | 国产精品无套呻吟在线 | 天天摸天天碰天天添 | 久久久久久a亚洲欧洲av冫 | 中文字幕无码av激情不卡 | 欧美高清在线精品一区 | 国产av无码专区亚洲a∨毛片 | 亚洲中文字幕久久无码 | 少妇性l交大片 | 丰满少妇女裸体bbw | 亚洲精品国产第一综合99久久 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 人妻少妇被猛烈进入中文字幕 | 久久国产精品偷任你爽任你 | 丰满少妇人妻久久久久久 | 天天摸天天碰天天添 | 夜夜高潮次次欢爽av女 | 熟妇女人妻丰满少妇中文字幕 | 一二三四社区在线中文视频 | 熟女少妇人妻中文字幕 | 欧洲美熟女乱又伦 | 日本va欧美va欧美va精品 | 丝袜足控一区二区三区 | 亚洲成熟女人毛毛耸耸多 | 久久精品中文字幕一区 | 十八禁真人啪啪免费网站 | 扒开双腿疯狂进出爽爽爽视频 | 无码av岛国片在线播放 | 久久www免费人成人片 | 巨爆乳无码视频在线观看 | 无码人妻av免费一区二区三区 | 美女扒开屁股让男人桶 | 东京无码熟妇人妻av在线网址 | 四虎影视成人永久免费观看视频 | 日本精品人妻无码77777 天堂一区人妻无码 | 一本大道伊人av久久综合 | 伊人久久大香线蕉亚洲 | 无码av岛国片在线播放 | 人人妻人人澡人人爽欧美一区九九 | 精品久久久久久亚洲精品 | 偷窥村妇洗澡毛毛多 | 任你躁在线精品免费 | 美女黄网站人色视频免费国产 | 久久精品国产99久久6动漫 | 玩弄中年熟妇正在播放 | 国产精品久久久久9999小说 | 波多野结衣aⅴ在线 | 亚洲一区二区三区播放 | 色综合天天综合狠狠爱 | 精品欧洲av无码一区二区三区 | 国产人妻精品一区二区三区 | 狠狠亚洲超碰狼人久久 | 麻豆国产人妻欲求不满谁演的 | 久久综合给合久久狠狠狠97色 | 欧美国产日产一区二区 | 性做久久久久久久免费看 | 老头边吃奶边弄进去呻吟 | 狠狠色噜噜狠狠狠狠7777米奇 | 亚洲自偷自偷在线制服 | 人人妻人人澡人人爽欧美精品 | √天堂中文官网8在线 | 少妇人妻大乳在线视频 | 亚洲精品久久久久久一区二区 | 久久精品中文字幕大胸 | 熟女少妇在线视频播放 | 少妇无套内谢久久久久 | 人妻互换免费中文字幕 | 一区二区三区乱码在线 | 欧洲 | 色妞www精品免费视频 | 久久人人爽人人爽人人片ⅴ | 99久久亚洲精品无码毛片 | 成熟人妻av无码专区 | 六月丁香婷婷色狠狠久久 | 7777奇米四色成人眼影 | 中文字幕无码人妻少妇免费 | 在线播放免费人成毛片乱码 | 荫蒂被男人添的好舒服爽免费视频 | 婷婷六月久久综合丁香 | 无套内射视频囯产 | 欧美国产亚洲日韩在线二区 | 老熟妇仑乱视频一区二区 | 亚洲成色www久久网站 | 午夜无码人妻av大片色欲 | 久久久久国色av免费观看性色 | 国产精品久久久久7777 | 亚洲一区二区三区在线观看网站 | 国产亚洲欧美在线专区 | 色婷婷综合激情综在线播放 | 中文字幕乱码人妻无码久久 | 天天综合网天天综合色 | 日韩精品a片一区二区三区妖精 | 少妇久久久久久人妻无码 | 久久久亚洲欧洲日产国码αv | 亚洲色欲色欲欲www在线 | 欧美午夜特黄aaaaaa片 | 国色天香社区在线视频 | 色婷婷综合中文久久一本 | 日韩精品无码一区二区中文字幕 | 久久综合九色综合欧美狠狠 | 中文亚洲成a人片在线观看 | www一区二区www免费 | 亚洲精品久久久久avwww潮水 | 粉嫩少妇内射浓精videos | 最新国产乱人伦偷精品免费网站 | 性生交片免费无码看人 | 色婷婷综合中文久久一本 | а√资源新版在线天堂 | av香港经典三级级 在线 | 亚洲精品国偷拍自产在线麻豆 | 乱码午夜-极国产极内射 | 国产麻豆精品一区二区三区v视界 | 亚洲成a人片在线观看无码3d | 国内丰满熟女出轨videos | 久久久久免费看成人影片 | 天天拍夜夜添久久精品大 | 亚洲自偷自偷在线制服 | 国产成人无码一二三区视频 | 无码纯肉视频在线观看 | 欧美一区二区三区视频在线观看 | 正在播放东北夫妻内射 | 国产成人无码av一区二区 | 无码人妻精品一区二区三区下载 | 免费乱码人妻系列无码专区 | 亚洲欧美国产精品专区久久 | 在线成人www免费观看视频 | 97夜夜澡人人双人人人喊 | 日本大香伊一区二区三区 | 成熟人妻av无码专区 | 无码人妻丰满熟妇区五十路百度 | 人人妻人人澡人人爽精品欧美 | 亚洲欧美精品伊人久久 | 东京热无码av男人的天堂 | 国产精品a成v人在线播放 | av在线亚洲欧洲日产一区二区 | 久久国产精品偷任你爽任你 | 天天做天天爱天天爽综合网 | 人妻人人添人妻人人爱 | 狠狠色丁香久久婷婷综合五月 | 精品久久久无码人妻字幂 | 中文字幕无码免费久久9一区9 | 丁香花在线影院观看在线播放 | а√天堂www在线天堂小说 | 欧美日本日韩 | 免费看少妇作爱视频 | 亚洲国产精品久久人人爱 | 亚洲最大成人网站 | 欧美成人免费全部网站 | 两性色午夜视频免费播放 | 久久精品中文闷骚内射 | 小sao货水好多真紧h无码视频 | 麻豆人妻少妇精品无码专区 | 亚洲成av人影院在线观看 | 亚洲精品国偷拍自产在线麻豆 | 偷窥日本少妇撒尿chinese | 精品偷拍一区二区三区在线看 | 成人无码视频免费播放 | 国产三级久久久精品麻豆三级 | 窝窝午夜理论片影院 | 东京热一精品无码av | 国产激情综合五月久久 | 天天摸天天透天天添 | 人妻无码αv中文字幕久久琪琪布 | 一个人看的www免费视频在线观看 | 婷婷色婷婷开心五月四房播播 | 东京热男人av天堂 | 999久久久国产精品消防器材 | 久久久久99精品国产片 | 夜夜夜高潮夜夜爽夜夜爰爰 | 波多野结衣乳巨码无在线观看 | 67194成是人免费无码 | 无码毛片视频一区二区本码 | 亚洲s色大片在线观看 | www成人国产高清内射 | 亚洲精品国偷拍自产在线观看蜜桃 | 欧洲熟妇精品视频 | 日本欧美一区二区三区乱码 | 亚洲日韩av一区二区三区中文 | 国产在线精品一区二区高清不卡 | а√天堂www在线天堂小说 | 亚洲综合伊人久久大杳蕉 | 妺妺窝人体色www在线小说 | 亚洲啪av永久无码精品放毛片 | 搡女人真爽免费视频大全 | 免费无码肉片在线观看 | 四虎国产精品免费久久 | 日韩无套无码精品 | 亚洲男人av香蕉爽爽爽爽 | 精品国产青草久久久久福利 | 强辱丰满人妻hd中文字幕 | 天下第一社区视频www日本 | 日韩亚洲欧美中文高清在线 | 在线精品亚洲一区二区 | 亚洲伊人久久精品影院 | 99久久精品午夜一区二区 | 黄网在线观看免费网站 | 欧美性生交活xxxxxdddd | www一区二区www免费 | 男女爱爱好爽视频免费看 | 老司机亚洲精品影院 | 亚欧洲精品在线视频免费观看 | 少妇愉情理伦片bd | 乱人伦人妻中文字幕无码久久网 | 曰本女人与公拘交酡免费视频 | 国产女主播喷水视频在线观看 | 一区二区三区高清视频一 | yw尤物av无码国产在线观看 | 两性色午夜视频免费播放 | 久久午夜无码鲁丝片午夜精品 | 成熟妇人a片免费看网站 | 伊人久久大香线焦av综合影院 | 精品水蜜桃久久久久久久 | 国产成人精品优优av | 久久久久久国产精品无码下载 | 99久久无码一区人妻 | 国产女主播喷水视频在线观看 | 欧美第一黄网免费网站 | 欧美日韩一区二区免费视频 | 一本色道久久综合亚洲精品不卡 | 婷婷综合久久中文字幕蜜桃三电影 | 亚洲欧美精品伊人久久 | 免费乱码人妻系列无码专区 | 噜噜噜亚洲色成人网站 | 亚洲高清偷拍一区二区三区 | 3d动漫精品啪啪一区二区中 | 欧美阿v高清资源不卡在线播放 | 国内精品一区二区三区不卡 | 欧美人与物videos另类 | 国产激情一区二区三区 | 成年女人永久免费看片 | 无码av中文字幕免费放 | 精品国产aⅴ无码一区二区 | 国产激情一区二区三区 | 夜夜躁日日躁狠狠久久av | 国产97人人超碰caoprom | 亚洲熟妇自偷自拍另类 | 女人高潮内射99精品 | 久久综合给合久久狠狠狠97色 | 精品少妇爆乳无码av无码专区 | 久久成人a毛片免费观看网站 | 亚洲一区二区三区含羞草 | 女高中生第一次破苞av | 国产麻豆精品一区二区三区v视界 | 在线播放无码字幕亚洲 | 久久伊人色av天堂九九小黄鸭 | 天堂久久天堂av色综合 | 日韩视频 中文字幕 视频一区 | 无码av最新清无码专区吞精 | 中文字幕无码av波多野吉衣 | 日韩人妻系列无码专区 | 夜夜夜高潮夜夜爽夜夜爰爰 | 丰满肥臀大屁股熟妇激情视频 | 国产人妻大战黑人第1集 | 国产成人精品无码播放 | 丰满少妇熟乱xxxxx视频 | 未满小14洗澡无码视频网站 | 东京热无码av男人的天堂 | 亚洲自偷自拍另类第1页 | 夜夜影院未满十八勿进 | 欧美黑人性暴力猛交喷水 | 精品夜夜澡人妻无码av蜜桃 | 亚洲伊人久久精品影院 | 99久久无码一区人妻 | 欧美日韩综合一区二区三区 | 性啪啪chinese东北女人 | 无码成人精品区在线观看 | 国产精品无套呻吟在线 | 思思久久99热只有频精品66 | 中文字幕色婷婷在线视频 | 久久国产精品萌白酱免费 | 男女猛烈xx00免费视频试看 | 欧美日韩亚洲国产精品 | 无遮无挡爽爽免费视频 | 国产一区二区三区四区五区加勒比 | 欧美日韩在线亚洲综合国产人 | 国语自产偷拍精品视频偷 | 中文字幕色婷婷在线视频 | 国产人妻大战黑人第1集 | 欧美日韩在线亚洲综合国产人 | 一本色道久久综合狠狠躁 | 久久精品国产99精品亚洲 | 国产成人精品优优av | 亚洲区欧美区综合区自拍区 | 日日噜噜噜噜夜夜爽亚洲精品 | 精品亚洲韩国一区二区三区 | 啦啦啦www在线观看免费视频 | 纯爱无遮挡h肉动漫在线播放 | 亚洲乱码中文字幕在线 | 午夜精品一区二区三区在线观看 | 妺妺窝人体色www在线小说 | 最新国产乱人伦偷精品免费网站 | 老司机亚洲精品影院 | 天天躁日日躁狠狠躁免费麻豆 | 色综合久久久无码网中文 | 伊人久久婷婷五月综合97色 | 激情爆乳一区二区三区 | 国内揄拍国内精品少妇国语 | 色综合视频一区二区三区 | 日本精品人妻无码免费大全 | 国产成人无码a区在线观看视频app | 国产99久久精品一区二区 | 狠狠色丁香久久婷婷综合五月 | 国产又爽又猛又粗的视频a片 | 性啪啪chinese东北女人 | 老司机亚洲精品影院 | 欧美高清在线精品一区 | 国产精品va在线播放 | 欧美黑人性暴力猛交喷水 | 强辱丰满人妻hd中文字幕 | 久久综合给久久狠狠97色 | √8天堂资源地址中文在线 | 狠狠色噜噜狠狠狠狠7777米奇 | 欧美日本精品一区二区三区 | 东京热无码av男人的天堂 | 嫩b人妻精品一区二区三区 | 亚洲色成人中文字幕网站 | 国产午夜无码精品免费看 | 免费国产黄网站在线观看 | 久久zyz资源站无码中文动漫 | 日韩欧美中文字幕公布 | 一二三四在线观看免费视频 | 最新国产乱人伦偷精品免费网站 | 国产婷婷色一区二区三区在线 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产精品久久久av久久久 | 中文字幕无线码 | 日本乱偷人妻中文字幕 | 亚洲成av人影院在线观看 | 少妇无套内谢久久久久 | 波多野结衣av在线观看 | 亚洲精品久久久久avwww潮水 | 在线观看欧美一区二区三区 | 窝窝午夜理论片影院 | 欧美日本日韩 | 亚洲无人区一区二区三区 | 国产精品久久福利网站 | 国产精品亚洲专区无码不卡 | 国产成人综合美国十次 | 国产黄在线观看免费观看不卡 | 人人爽人人澡人人高潮 | 波多野结衣av一区二区全免费观看 | 精品久久久久久人妻无码中文字幕 | 国产在线精品一区二区高清不卡 | 伊人久久大香线蕉av一区二区 | 国产精品高潮呻吟av久久 | 亚洲国产av精品一区二区蜜芽 | 特级做a爰片毛片免费69 | 高清无码午夜福利视频 | 又湿又紧又大又爽a视频国产 | 国产香蕉尹人视频在线 | 国产色在线 | 国产 | 婷婷丁香五月天综合东京热 | 久久99精品国产麻豆蜜芽 | 中文字幕乱妇无码av在线 | 动漫av网站免费观看 | 亚洲人成网站在线播放942 | 九九久久精品国产免费看小说 | 欧美丰满熟妇xxxx性ppx人交 | 97色伦图片97综合影院 | 亚洲精品久久久久久一区二区 | 国产av一区二区三区最新精品 | 人人超人人超碰超国产 | 国产成人无码av在线影院 | 免费观看黄网站 | 国产内射老熟女aaaa | 亚洲一区二区三区偷拍女厕 | 荡女精品导航 | 丰满人妻翻云覆雨呻吟视频 | 亚洲综合另类小说色区 | 中文毛片无遮挡高清免费 | 欧美日本精品一区二区三区 | 亚洲人成网站色7799 | av小次郎收藏 | 在线播放免费人成毛片乱码 | 麻豆国产97在线 | 欧洲 | 色一情一乱一伦一区二区三欧美 | 男女爱爱好爽视频免费看 | 欧美三级不卡在线观看 | 天堂а√在线地址中文在线 | 少妇一晚三次一区二区三区 | 思思久久99热只有频精品66 | 成年美女黄网站色大免费全看 | 大地资源网第二页免费观看 | 国产亚洲欧美日韩亚洲中文色 | 少妇性l交大片欧洲热妇乱xxx | 成人免费视频在线观看 | 99久久久国产精品无码免费 | 亚拍精品一区二区三区探花 | 免费播放一区二区三区 | 中国女人内谢69xxxx | 九月婷婷人人澡人人添人人爽 | 少妇被粗大的猛进出69影院 | 国产精品久免费的黄网站 | 午夜精品久久久内射近拍高清 | 亚洲 a v无 码免 费 成 人 a v | 波多野结衣aⅴ在线 | 欧美人与善在线com | 无码人妻少妇伦在线电影 | 午夜精品久久久久久久 | 亚洲精品国偷拍自产在线麻豆 | 亚洲精品无码人妻无码 | 精品一区二区三区波多野结衣 | 免费人成在线视频无码 | 99久久精品日本一区二区免费 | 国产农村乱对白刺激视频 | 久久久www成人免费毛片 | 双乳奶水饱满少妇呻吟 | 国产熟女一区二区三区四区五区 | 国产乱人伦av在线无码 | 亚洲国产精品无码一区二区三区 | 自拍偷自拍亚洲精品10p | 男人的天堂2018无码 | 久久久久国色av免费观看性色 | 欧美自拍另类欧美综合图片区 | 久久午夜无码鲁丝片 | 奇米影视888欧美在线观看 | 沈阳熟女露脸对白视频 | 亚洲欧美中文字幕5发布 | 一本色道久久综合亚洲精品不卡 | 国产人妻精品午夜福利免费 | 日日天日日夜日日摸 | 亚洲熟妇色xxxxx欧美老妇y | 色窝窝无码一区二区三区色欲 | 国产亚洲精品久久久ai换 | 亚洲а∨天堂久久精品2021 | 成 人 网 站国产免费观看 | 青青青爽视频在线观看 | 国产成人精品必看 | 亚洲成a人片在线观看无码3d | 三上悠亚人妻中文字幕在线 | 无码人妻丰满熟妇区五十路百度 | 国产精品多人p群无码 | 暴力强奷在线播放无码 | 偷窥日本少妇撒尿chinese | 高清国产亚洲精品自在久久 | www一区二区www免费 | 久久精品女人天堂av免费观看 | 国产精品国产自线拍免费软件 | 中文字幕无线码 | 中文字幕av伊人av无码av | 精品欧美一区二区三区久久久 | 国产在线无码精品电影网 | 麻豆av传媒蜜桃天美传媒 | 国产av久久久久精东av | 国产人妻久久精品二区三区老狼 | 狠狠亚洲超碰狼人久久 | 久久aⅴ免费观看 | 亚洲午夜福利在线观看 | 四虎国产精品一区二区 | 国产又爽又黄又刺激的视频 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 久久综合给合久久狠狠狠97色 | 无码帝国www无码专区色综合 | 国产无av码在线观看 | 亚洲自偷精品视频自拍 | 国产电影无码午夜在线播放 | 国产乱人伦偷精品视频 | 国产日产欧产精品精品app | 中文无码伦av中文字幕 | 国内丰满熟女出轨videos | 67194成是人免费无码 | 成人综合网亚洲伊人 | 久久99久久99精品中文字幕 | 中文字幕无码热在线视频 | 国产又粗又硬又大爽黄老大爷视 | 内射老妇bbwx0c0ck | 国产在线aaa片一区二区99 | 初尝人妻少妇中文字幕 | 国产精品久久久午夜夜伦鲁鲁 | 国产精品亚洲а∨无码播放麻豆 | 一个人看的www免费视频在线观看 | 乌克兰少妇xxxx做受 | 老司机亚洲精品影院无码 | 夜先锋av资源网站 | 亚洲日韩一区二区三区 | 亚洲熟女一区二区三区 | 黑人粗大猛烈进出高潮视频 | 久久久久久国产精品无码下载 | 久久国产精品二国产精品 | 国产乱子伦视频在线播放 | 国产成人综合在线女婷五月99播放 | 国产人妻精品一区二区三区 | 性生交片免费无码看人 | 丰满岳乱妇在线观看中字无码 | 好爽又高潮了毛片免费下载 | 久精品国产欧美亚洲色aⅴ大片 | 精品国产青草久久久久福利 | 欧洲美熟女乱又伦 |