国产无遮挡裸体免费直播视频,久久精品国产蜜臀av,动漫在线视频一区二区,欧亚日韩一区二区三区,久艹在线 免费视频,国产精品美女网站免费,正在播放 97超级视频在线观看,斗破苍穹年番在线观看免费,51最新乱码中文字幕

Docker 學(xué)習(xí)文檔(知識(shí)結(jié)構(gòu)整理)

 更新時(shí)間:2016年11月03日 10:42:08   投稿:lqh  
這篇文章主要介紹了Docker 學(xué)習(xí)文檔的相關(guān)資料,需要的朋友可以參考下

一、Docker 簡(jiǎn)介

Docker 兩個(gè)主要部件:

Docker: 開源的容器虛擬化平臺(tái)Docker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平臺(tái) -- Docker Hub

Docker 使用客戶端-服務(wù)器 (C/S) 架構(gòu)模式。Docker 客戶端會(huì)與 Docker 守護(hù)進(jìn)程進(jìn)行通信。Docker 守護(hù)進(jìn)程會(huì)處理復(fù)雜繁重的任務(wù),例如建立、運(yùn)行、發(fā)布你的 Docker 容器。Docker 客戶端和守護(hù)進(jìn)程可以運(yùn)行在同一個(gè)系統(tǒng)上,當(dāng)然你也可以使用 Docker 客戶端去連接一個(gè)遠(yuǎn)程的 Docker 守護(hù)進(jìn)程。Docker 客戶端和守護(hù)進(jìn)程之間通過 socket 或者 RESTful API 進(jìn)行通信。

非常詳細(xì)的 Docker 學(xué)習(xí)筆記

1.1 Docker 守護(hù)進(jìn)程

如上圖所示,Docker 守護(hù)進(jìn)程運(yùn)行在一臺(tái)主機(jī)上。用戶并不直接和守護(hù)進(jìn)程進(jìn)行交互,而是通過 Docker 客戶端間接和其通信。

1.2 Docker 客戶端

Docker 客戶端,實(shí)際上是 docker 的二進(jìn)制程序,是主要的用戶與 Docker 交互方式。它接收用戶指令并且與背后的 Docker 守護(hù)進(jìn)程通信,如此來回往復(fù)。

1.3 Docker 內(nèi)部

要理解 Docker 內(nèi)部構(gòu)建,需要理解以下三種部件:

Docker 鏡像 - Docker imagesDocker 倉庫 - Docker registeriesDocker 容器 - Docker containersDocker 鏡像

Docker 鏡像是 Docker 容器運(yùn)行時(shí)的只讀模板,每一個(gè)鏡像由一系列的層 (layers) 組成。Docker 使用 UnionFS 來將這些層聯(lián)合到單獨(dú)的鏡像中。UnionFS 允許獨(dú)立文件系統(tǒng)中的文件和文件夾(稱之為分支)被透明覆蓋,形成一個(gè)單獨(dú)連貫的文件系統(tǒng)。正因?yàn)橛辛诉@些層的存在,Docker 是如此的輕量。當(dāng)你改變了一個(gè) Docker 鏡像,比如升級(jí)到某個(gè)程序到新的版本,一個(gè)新的層會(huì)被創(chuàng)建。因此,不用替換整個(gè)原先的鏡像或者重新建立(在使用虛擬機(jī)的時(shí)候你可能會(huì)這么做),只是一個(gè)新 的層被添加或升級(jí)了?,F(xiàn)在你不用重新發(fā)布整個(gè)鏡像,只需要升級(jí),層使得分發(fā) Docker 鏡像變得簡(jiǎn)單和快速。

Docker 倉庫

Docker 倉庫用來保存鏡像,可以理解為代碼控制中的代碼倉庫。同樣的,Docker 倉庫也有公有和私有的概念。公有的 Docker 倉庫名字是 Docker Hub。Docker Hub 提供了龐大的鏡像集合供使用。這些鏡像可以是自己創(chuàng)建,或者在別人的鏡像基礎(chǔ)上創(chuàng)建。Docker 倉庫是 Docker 的分發(fā)部分。

Docker 容器

Docker 容器和文件夾很類似,一個(gè)Docker容器包含了所有的某個(gè)應(yīng)用運(yùn)行所需要的環(huán)境。每一個(gè) Docker 容器都是從 Docker 鏡像創(chuàng)建的。Docker 容器可以運(yùn)行、開始、停止、移動(dòng)和刪除。每一個(gè) Docker 容器都是獨(dú)立和安全的應(yīng)用平臺(tái),Docker 容器是 Docker 的運(yùn)行部分。

1.4 libcontainer

Docker 從 0.9 版本開始使用 libcontainer 替代 lxc,libcontainer 和 Linux 系統(tǒng)的交互圖如下:

非常詳細(xì)的 Docker 學(xué)習(xí)筆記

圖片來源: Docker 0.9: introducing execution drivers and libcontainer

1.5 命名空間「Namespaces」

pid namespace

不同用戶的進(jìn)程就是通過 pid namespace 隔離開的,且不同 namespace 中可以有相同 PID。具有以下特征:

每個(gè) namespace 中的 pid 是有自己的 pid=1 的進(jìn)程(類似 /sbin/init 進(jìn)程)

每個(gè) namespace 中的進(jìn)程只能影響自己的同一個(gè) namespace 或子 namespace 中的進(jìn)程

因?yàn)?/proc 包含正在運(yùn)行的進(jìn)程,因此在 container 中的 pseudo-filesystem 的 /proc 目錄只能看到自己 namespace 中的進(jìn)程

因?yàn)?namespace 允許嵌套,父 namespace 可以影響子 namespace 的進(jìn)程,所以子 namespace 的進(jìn)程可以在父 namespace 中看到,但是具有不同的 pid

參考文檔:Introduction to Linux namespaces – Part 3: PID

mnt namespace

類似 chroot,將一個(gè)進(jìn)程放到一個(gè)特定的目錄執(zhí)行。mnt namespace 允許不同 namespace 的進(jìn)程看到的文件結(jié)構(gòu)不同,這樣每個(gè) namespace 中的進(jìn)程所看到的文件目錄就被隔離開了。同 chroot 不同,每個(gè) namespace 中的 container 在 /proc/mounts 的信息只包含所在 namespace 的 mount point。

net namespace

網(wǎng)絡(luò)隔離是通過 net namespace 實(shí)現(xiàn)的, 每個(gè) net namespace 有獨(dú)立的 network devices, IP addresses, IP routing tables, /proc/net 目錄。這樣每個(gè) container 的網(wǎng)絡(luò)就能隔離開來。 docker 默認(rèn)采用 veth 的方式將 container 中的虛擬網(wǎng)卡同 host 上的一個(gè) docker bridge 連接在一起。

參考文檔:Introduction to Linux namespaces – Part 5: NET

uts namespace

UTS ("UNIX Time-sharing System") namespace 允許每個(gè) container 擁有獨(dú)立的 hostname 和 domain name, 使其在網(wǎng)絡(luò)上可以被視作一個(gè)獨(dú)立的節(jié)點(diǎn)而非 Host 上的一個(gè)進(jìn)程。

參考文檔:Introduction to Linux namespaces – Part 1: UTS

ipc namespace

container 中進(jìn)程交互還是采用 Linux 常見的進(jìn)程間交互方法 (interprocess communication - IPC), 包括常見的信號(hào)量、消息隊(duì)列和共享內(nèi)存。然而同 VM 不同,container 的進(jìn)程間交互實(shí)際上還是 host 上具有相同 pid namespace 中的進(jìn)程間交互,因此需要在IPC資源申請(qǐng)時(shí)加入 namespace 信息 - 每個(gè) IPC 資源有一個(gè)唯一的 32bit ID。

參考文檔:Introduction to Linux namespaces – Part 2: IPC

user namespace

每個(gè) container 可以有不同的 user 和 group id, 也就是說可以以 container 內(nèi)部的用戶在 container 內(nèi)部執(zhí)行程序而非 Host 上的用戶。

有了以上 6 種 namespace 從進(jìn)程、網(wǎng)絡(luò)、IPC、文件系統(tǒng)、UTS 和用戶角度的隔離,一個(gè) container 就可以對(duì)外展現(xiàn)出一個(gè)獨(dú)立計(jì)算機(jī)的能力,并且不同 container 從 OS 層面實(shí)現(xiàn)了隔離。 然而不同 namespace 之間資源還是相互競(jìng)爭(zhēng)的,仍然需要類似 ulimit 來管理每個(gè) container 所能使用的資源 - cgroup。

ReferenceDocker Getting Start: Related KnowledgeDocker 介紹以及其相關(guān)術(shù)語、底層原理和技術(shù)

1.6 資源配額「cgroups」

cgroups 實(shí)現(xiàn)了對(duì)資源的配額和度量。 cgroups 的使用非常簡(jiǎn)單,提供類似文件的接口,在 /cgroup 目錄下新建一個(gè)文件夾即可新建一個(gè) group,在此文件夾中新建 task 文件,并將 pid 寫入該文件,即可實(shí)現(xiàn)對(duì)該進(jìn)程的資源控制。具體的資源配置選項(xiàng)可以在該文件夾中新建子 subsystem ,{子系統(tǒng)前綴}.{資源項(xiàng)} 是典型的配置方法, 如 memory.usageinbytes 就定義了該 group 在 subsystem memory 中的一個(gè)內(nèi)存限制選項(xiàng)。 另外,cgroups 中的 subsystem 可以隨意組合,一個(gè) subsystem 可以在不同的 group 中,也可以一個(gè) group 包含多個(gè) subsystem - 也就是說一個(gè) subsystem。

memory內(nèi)存相關(guān)的限制

cpu在 cgroup 中,并不能像硬件虛擬化方案一樣能夠定義 CPU 能力,但是能夠定義 CPU 輪轉(zhuǎn)的優(yōu)先級(jí),因此具有較高 CPU 優(yōu)先級(jí)的進(jìn)程會(huì)更可能得到 CPU 運(yùn)算。 通過將參數(shù)寫入 cpu.shares ,即可定義改 cgroup 的 CPU 優(yōu)先級(jí) - 這里是一個(gè)相對(duì)權(quán)重,而非絕對(duì)值blkioblock IO 相關(guān)的統(tǒng)計(jì)和限制,byte/operation 統(tǒng)計(jì)和限制 (IOPS 等),讀寫速度限制等,但是這里主要統(tǒng)計(jì)的都是同步 IO

devices設(shè)備權(quán)限限制

參考文檔:how to use cgroup

二、Docker 安裝

docker 的相關(guān)安裝方法這里不作介紹,具體安裝參考 官檔

獲取當(dāng)前 docker 版本

$ sudo docker version
Client version: 1.3.2
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): 39fa2fa/1.3.2
OS/Arch (client): linux/amd64
Server version: 1.3.2
Server API version: 1.15
Go version (server): go1.3.3
Git commit (server): 39fa2fa/1.3.2

三、Docker 基礎(chǔ)用法

Docker HUB : Docker鏡像首頁,包括官方鏡像和其它公開鏡像

因?yàn)閲榈脑?,國?nèi)下載 Docker HUB 官方的相關(guān)鏡像比較慢,可以使用 docker.cn 鏡像,鏡像保持和官方一致,關(guān)鍵是速度塊,推薦使用。

3.1 Search images

$ sudo docker search ubuntu

3.2 Pull images

$ sudo docker pull ubuntu # 獲取 ubuntu 官方鏡像 $ sudo docker images # 查看當(dāng)前鏡像列表

3.3 Running an interactive shell

$ sudo docker run -i -t ubuntu:14.04 /bin/bash

docker run - 運(yùn)行一個(gè)容器-t - 分配一個(gè)(偽)tty (link is external)-i - 交互模式 (so we can interact with it)ubuntu:14.04 - 使用 ubuntu 基礎(chǔ)鏡像 14.04/bin/bash - 運(yùn)行命令 bash shell

注: ubuntu 會(huì)有多個(gè)版本,通過指定 tag 來啟動(dòng)特定的版本 [image]:[tag]

$ sudo docker ps # 查看當(dāng)前運(yùn)行的容器, ps -a 列出當(dāng)前系統(tǒng)所有的容器 CONTAINER ID  IMAGE    COMMAND    CREATED    STATUS    PORTS    NAMES
6c9129e9df10  ubuntu:14.04  /bin/bash 6 minutes ago  Up 6 minutes       cranky_babbage

3.4 相關(guān)快捷鍵退出:

Ctrl-Dorexit

detach:Ctrl-P + Ctrl-Q

attach:docker attach CONTAINER-ID

四、Docker 命令幫助

4.1 dockerhelp

docker command

$ sudo docker # docker 命令幫助

Commands:
 attach Attach to a running container     # 當(dāng)前 shell 下 attach 連接指定運(yùn)行鏡像
 build  Build an image from a Dockerfile    # 通過 Dockerfile 定制鏡像
 commit Create a new image from a container's changes # 提交當(dāng)前容器為新的鏡像
 cp  Copy files/folders from the containers filesystem to the host path
    # 從容器中拷貝指定文件或者目錄到宿主機(jī)中
 create Create a new container      # 創(chuàng)建一個(gè)新的容器,同 run,但不啟動(dòng)容器
 diff  Inspect changes on a container's filesystem # 查看 docker 容器變化
 events Get real time events from the server   # 從 docker 服務(wù)獲取容器實(shí)時(shí)事件
 exec  Run a command in an existing container  # 在已存在的容器上運(yùn)行命令
 export Stream the contents of a container as a tar archive 
    # 導(dǎo)出容器的內(nèi)容流作為一個(gè) tar 歸檔文件[對(duì)應(yīng) import ]
 history Show the history of an image     # 展示一個(gè)鏡像形成歷史
 images List images         # 列出系統(tǒng)當(dāng)前鏡像
 import Create a new filesystem image from the contents of a tarball 
    # 從tar包中的內(nèi)容創(chuàng)建一個(gè)新的文件系統(tǒng)映像[對(duì)應(yīng) export]
 info  Display system-wide information    # 顯示系統(tǒng)相關(guān)信息
 inspect Return low-level information on a container # 查看容器詳細(xì)信息
 kill  Kill a running container      # kill 指定 docker 容器
 load  Load an image from a tar archive    # 從一個(gè) tar 包中加載一個(gè)鏡像[對(duì)應(yīng) save]
 login  Register or Login to the docker registry server 
    # 注冊(cè)或者登陸一個(gè) docker 源服務(wù)器
 logout Log out from a Docker registry server   # 從當(dāng)前 Docker registry 退出
 logs  Fetch the logs of a container     # 輸出當(dāng)前容器日志信息
 port  Lookup the public-facing port which is NAT-ed to PRIVATE_PORT
    # 查看映射端口對(duì)應(yīng)的容器內(nèi)部源端口
 pause  Pause all processes within a container  # 暫停容器
 ps  List containers        # 列出容器列表
 pull  Pull an image or a repository from the docker registry server
    # 從docker鏡像源服務(wù)器拉取指定鏡像或者庫鏡像
 push  Push an image or a repository to the docker registry server
    # 推送指定鏡像或者庫鏡像至docker源服務(wù)器
 restart Restart a running container     # 重啟運(yùn)行的容器
 rm  Remove one or more containers     # 移除一個(gè)或者多個(gè)容器
 rmi  Remove one or more images     
    # 移除一個(gè)或多個(gè)鏡像[無容器使用該鏡像才可刪除,否則需刪除相關(guān)容器才可繼續(xù)或 -f 強(qiáng)制刪除]
 run  Run a command in a new container
    # 創(chuàng)建一個(gè)新的容器并運(yùn)行一個(gè)命令
 save  Save an image to a tar archive    # 保存一個(gè)鏡像為一個(gè) tar 包[對(duì)應(yīng) load]
 search Search for an image on the Docker Hub   # 在 docker hub 中搜索鏡像
 start  Start a stopped containers     # 啟動(dòng)容器
 stop  Stop a running containers      # 停止容器
 tag  Tag an image into a repository    # 給源中鏡像打標(biāo)簽
 top  Lookup the running processes of a container # 查看容器中運(yùn)行的進(jìn)程信息
 unpause Unpause a paused container     # 取消暫停容器
 version Show the docker version information   # 查看 docker 版本號(hào)
 wait  Block until a container stops, then print its exit code 
    # 截取容器停止時(shí)的退出狀態(tài)值
Run 'docker COMMAND --help' for more information on a command.

docker option

Usage of docker:
 --api-enable-cors=false    Enable CORS headers in the remote API      # 遠(yuǎn)程 API 中開啟 CORS 頭
 -b, --bridge=""      Attach containers to a pre-existing network bridge   # 橋接網(wǎng)絡(luò)
           use 'none' to disable container networking
 --bip=""        Use this CIDR notation address for the network bridge's IP, not compatible with -b
           # 和 -b 選項(xiàng)不兼容,具體沒有測(cè)試過
 -d, --daemon=false      Enable daemon mode           # daemon 模式
 -D, --debug=false      Enable debug mode           # debug 模式
 --dns=[]        Force docker to use specific DNS servers     # 強(qiáng)制 docker 使用指定 dns 服務(wù)器
 --dns-search=[]      Force Docker to use specific DNS search domains   # 強(qiáng)制 docker 使用指定 dns 搜索域
 -e, --exec-driver="native"    Force the docker runtime to use a specific exec driver  # 強(qiáng)制 docker 運(yùn)行時(shí)使用指定執(zhí)行驅(qū)動(dòng)器
 --fixed-cidr=""      IPv4 subnet for fixed IPs (ex: 10.20.0.0/16)
           this subnet must be nested in the bridge subnet (which is defined by -b or --bip)
 -G, --group="docker"     Group to assign the unix socket specified by -H when running in daemon mode
           use '' (the empty string) to disable setting of a group
 -g, --graph="/var/lib/docker"   Path to use as the root of the docker runtime    # 容器運(yùn)行的根目錄路徑
 -H, --host=[]       The socket(s) to bind to in daemon mode     # daemon 模式下 docker 指定綁定方式[tcp or 本地 socket]
           specified using one or more tcp://host:port, unix:///path/to/socket, fd://* or fd://socketfd.
 --icc=true        Enable inter-container communication      # 跨容器通信
 --insecure-registry=[]     Enable insecure communication with specified registries (no certificate verification for HTTPS and enable HTTP fallback) (e.g., localhost:5000 or 10.20.0.0/16)
 --ip="0.0.0.0"       Default IP address to use when binding container ports  # 指定監(jiān)聽地址,默認(rèn)所有 ip
 --ip-forward=true      Enable net.ipv4.ip_forward         # 開啟轉(zhuǎn)發(fā)
 --ip-masq=true       Enable IP masquerading for bridge's IP range
 --iptables=true      Enable Docker's addition of iptables rules     # 添加對(duì)應(yīng) iptables 規(guī)則
 --mtu=0        Set the containers network MTU        # 設(shè)置網(wǎng)絡(luò) mtu
           if no value is provided: default to the default route MTU or 1500 if no default route is available
 -p, --pidfile="/var/run/docker.pid" Path to use for daemon PID file       # 指定 pid 文件位置
 --registry-mirror=[]     Specify a preferred Docker registry mirror     
 -s, --storage-driver=""    Force the docker runtime to use a specific storage driver # 強(qiáng)制 docker 運(yùn)行時(shí)使用指定存儲(chǔ)驅(qū)動(dòng)
 --selinux-enabled=false    Enable selinux support          # 開啟 selinux 支持
 --storage-opt=[]      Set storage driver options         # 設(shè)置存儲(chǔ)驅(qū)動(dòng)選項(xiàng)
 --tls=false       Use TLS; implied by tls-verify flags      # 開啟 tls
 --tlscacert="/root/.docker/ca.pem"  Trust only remotes providing a certificate signed by the CA given here
 --tlscert="/root/.docker/cert.pem"  Path to TLS certificate file        # tls 證書文件位置
 --tlskey="/root/.docker/key.pem"  Path to TLS key file          # tls key 文件位置
 --tlsverify=false      Use TLS and verify the remote (daemon: verify client, client: verify daemon) # 使用 tls 并確認(rèn)遠(yuǎn)程控制主機(jī)
 -v, --version=false     Print version information and quit       # 輸出 docker 版本信息

4.2 docker search

$ sudo docker search --help

Usage: docker search TERM

Search the Docker Hub for images # 從 Docker Hub 搜索鏡像 --automated=false Only show automated builds
 --no-trunc=false Don't truncate output
 -s, --stars=0 Only displays with at least xxx stars

示例:

$ sudo docker search -s 100 ubuntu # 查找 star 數(shù)至少為 100 的鏡像,找出只有官方鏡像 start 數(shù)超過 100,默認(rèn)不加 s 選項(xiàng)找出所有相關(guān) ubuntu 鏡像 NAME  DESCRIPTION     STARS  OFFICIAL AUTOMATED
ubuntu Official Ubuntu base image 425 [OK] 

4.3 docker info

$ sudo docker info 
Containers: 1 # 容器個(gè)數(shù) Images: 22 # 鏡像個(gè)數(shù) Storage Driver: devicemapper # 存儲(chǔ)驅(qū)動(dòng) Pool Name: docker-8:17-3221225728-pool
 Pool Blocksize: 65.54 kB
 Data file: /data/docker/devicemapper/devicemapper/data
 Metadata file: /data/docker/devicemapper/devicemapper/metadata
 Data Space Used: 1.83 GB
 Data Space Total: 107.4 GB
 Metadata Space Used: 2.191 MB
 Metadata Space Total: 2.147 GB
 Library Version: 1.02.84-RHEL7 (2014-03-26) Execution Driver: native-0.2 # 存儲(chǔ)驅(qū)動(dòng) Kernel Version: 3.10.0-123.el7.x86_64
Operating System: CentOS Linux 7 (Core) 

4.4 docker pull && docker push

$ sudo docker pull --help # pull 拉取鏡像 Usage: docker pull [OPTIONS] NAME[:TAG] Pull an image or a repository from the registry

 -a, --all-tags=false Download all tagged images in the repository $ sudo docker push # push 推送指定鏡像 Usage: docker push NAME[:TAG] Push an image or a repository to the registry

示例:

$ sudo docker pull ubuntu # 下載官方 ubuntu docker 鏡像,默認(rèn)下載所有 ubuntu 官方庫鏡像 
$ sudo docker pull ubuntu:14.04 # 下載指定版本 ubuntu 官方鏡像 
$ sudo docker push 192.168.0.100:5000/ubuntu # 推送鏡像庫到私有源[可注冊(cè) docker 官方賬戶,推送到官方自有賬戶] $ sudo docker push 192.168.0.100:5000/ubuntu:14.04 # 推送指定鏡像到私有源 

4.5 docker images

列出當(dāng)前系統(tǒng)鏡像

$ sudo docker images --help

Usage: docker images [OPTIONS] [NAME] List images

 -a, --all=false Show all images (by default filter out the intermediate image layers) # -a 顯示當(dāng)前系統(tǒng)的所有鏡像,包括過渡層鏡像,默認(rèn) docker images 顯示最終鏡像,不包括過渡層鏡像 -f, --filter=[] Provide filter values (i.e. 'dangling=true') --no-trunc=false Don't truncate output
 -q, --quiet=false Only show numeric IDs

示例:

$ sudo docker images # 顯示當(dāng)前系統(tǒng)鏡像,不包括過渡層鏡像 $ sudo docker images -a # 顯示當(dāng)前系統(tǒng)所有鏡像,包括過渡層鏡像 $ sudo docker images ubuntu # 顯示當(dāng)前系統(tǒng) docker ubuntu 庫中的所有鏡像 REPOSITORY     TAG     IMAGE ID   CREATED    VIRTUAL SIZE
ubuntu      12.04    ebe4be4dd427 4 weeks ago   210.6 MB
ubuntu      14.04    e54ca5efa2e9 4 weeks ago   276.5 MB
ubuntu      14.04-ssh   6334d3ac099a 7 weeks ago   383.2 MB

4.6 docker rmi

刪除一個(gè)或者多個(gè)鏡像

$ sudo docker rmi --help

Usage: docker rmi IMAGE [IMAGE...] Remove one or more images

 -f, --force=false Force removal of the image # 強(qiáng)制移除鏡像不管是否有容器使用該鏡像 --no-prune=false Do not delete untagged parents # 不要?jiǎng)h除未標(biāo)記的父鏡像 

4.7 docker run

$ sudo docker run --help

Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] Run a command in a new container

 -a, --attach=[] Attach to stdin, stdout or stderr.
 -c, --cpu-shares=0 CPU shares (relative weight) # 設(shè)置 cpu 使用權(quán)重 --cap-add=[] Add Linux capabilities
 --cap-drop=[] Drop Linux capabilities
 --cidfile="" Write the container ID to the file # 把容器 id 寫入到指定文件 --cpuset="" CPUs in which to allow execution (0-3, 0,1) # cpu 綁定 -d, --detach=false Detached mode: Run container in the background, print new container id # 后臺(tái)運(yùn)行容器 --device=[] Add a host device to the container (e.g. --device=/dev/sdc:/dev/xvdc) --dns=[] Set custom dns servers # 設(shè)置 dns --dns-search=[] Set custom dns search domains # 設(shè)置 dns 域搜索 -e, --env=[] Set environment variables # 定義環(huán)境變量 --entrypoint="" Overwrite the default entrypoint of the image # ? --env-file=[] Read in a line delimited file of ENV variables # 從指定文件讀取變量值 --expose=[] Expose a port from the container without publishing it to your host # 指定對(duì)外提供服務(wù)端口 -h, --hostname="" Container host name # 設(shè)置容器主機(jī)名 -i, --interactive=false Keep stdin open even if not attached # 保持標(biāo)準(zhǔn)輸出開啟即使沒有 attached --link=[] Add link to another container (name:alias) # 添加鏈接到另外一個(gè)容器 --lxc-conf=[] (lxc exec-driver only) Add custom lxc options --lxc-conf="lxc.cgroup.cpuset.cpus = 0,1" -m, --memory="" Memory limit (format: <number><optional unit>, where unit = b, k, m or g) # 內(nèi)存限制 --name="" Assign a name to the container # 設(shè)置容器名 --net="bridge" Set the Network mode for the container # 設(shè)置容器網(wǎng)絡(luò)模式 'bridge': creates a new network stack for the container on the docker bridge 'none': no networking for this container 'container:<name|id>': reuses another container network stack 'host': use the host network stack inside the container. Note: the host mode gives the container full access to local system services such as D-bus and is therefore considered insecure.
 -P, --publish-all=false Publish all exposed ports to the host interfaces # 自動(dòng)映射容器對(duì)外提供服務(wù)的端口 -p, --publish=[] Publish a container's port to the host    # 指定端口映射 format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort (use 'docker port' to see the actual mapping) --privileged=false Give extended privileges to this container # 提供更多的權(quán)限給容器 --restart="" Restart policy to apply when a container exits (no, on-failure[:max-retry], always) --rm=false Automatically remove the container when it exits (incompatible with -d) # 如果容器退出自動(dòng)移除和 -d 選項(xiàng)沖突 --security-opt=[] Security Options
 --sig-proxy=true Proxify received signals to the process (even in non-tty mode). SIGCHLD is not proxied.
 -t, --tty=false Allocate a pseudo-tty # 分配偽終端 -u, --user="" Username or UID # 指定運(yùn)行容器的用戶 uid 或者用戶名 -v, --volume=[] Bind mount a volume (e.g., from the host: -v /host:/container, from docker: -v /container) # 掛載卷 --volumes-from=[] Mount volumes from the specified container(s) # 從指定容器掛載卷 -w, --workdir="" Working directory inside the container # 指定容器工作目錄 

示例:

$ sudo docker images ubuntu
REPOSITORY   TAG     IMAGE ID   CREATED    VIRTUAL SIZE
ubuntu    14.04    e54ca5efa2e9 4 weeks ago   276.5 MB
... ... $ sudo docker run -t -i -c 100 -m 512MB -h test1 -d --name="docker_test1" ubuntu /bin/bash # 創(chuàng)建一個(gè) cpu 優(yōu)先級(jí)為 100,內(nèi)存限制 512MB,主機(jī)名為 test1,名為 docker_test1 后臺(tái)運(yùn)行 bash 的容器 a424ca613c9f2247cd3ede95adfbaf8d28400cbcb1d5f9b69a7b56f97b2b52e5 $ sudo docker ps 
CONTAINER ID  IMAGE   COMMAND   CREATED    STATUS    PORTS  NAMES
a424ca613c9f  ubuntu:14.04 /bin/bash 6 seconds ago  Up 5 seconds     docker_test1 $ sudo docker attach docker_test1
root@test1:/# pwd /
root@test1:/# exit exit 

關(guān)于cpu優(yōu)先級(jí):

By default all groups have 1024 shares. A group with 100 shares will get a ~10% portion of the CPU time -archlinux cgroups

4.8 docker start|stop|kill... ...

dockerstart|stop|kill|restart|pause|unpause|rm|commit|inspect|logs

docker start CONTAINER [CONTAINER...]# 運(yùn)行一個(gè)或多個(gè)停止的容器

docker stop CONTAINER [CONTAINER...]
# 停掉一個(gè)或多個(gè)運(yùn)行的容器-t選項(xiàng)可指定超時(shí)時(shí)間

docker kill [OPTIONS] CONTAINER [CONTAINER...]# 默認(rèn) kill 發(fā)送 SIGKILL 信號(hào)-s可以指定發(fā)送 kill 信號(hào)類型

docker restart [OPTIONS] CONTAINER [CONTAINER...]# 重啟一個(gè)或多個(gè)運(yùn)行的容器-t選項(xiàng)可指定超時(shí)時(shí)間

docker pause CONTAINER# 暫停一個(gè)容器,方便 commitdocker unpause CONTAINER# 繼續(xù)暫停的容器

docker rm [OPTIONS] CONTAINER [CONTAINER...]
# 移除一個(gè)或多個(gè)容器

-f, --force=false Force removal of running container

-l, --link=false Remove the specified link and not the underlying container

-v, --volumes=false Remove the volumes associated with the container

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
# 提交指定容器為鏡像

-a, --author="" Author (e.g., "John Hannibal Smith hannibal@a-team.com")

-m, --message="" Commit message

-p, --pause=true Pause container during commit# 默認(rèn) commit 是暫停狀態(tài)

docker inspect CONTAINER|IMAGE [CONTAINER|IMAGE...]

# 查看容器或者鏡像的詳細(xì)信息docker logs CONTAINER# 輸出指定容器日志信息

-f, --follow=false Follow log output# 類似 tail -f

-t, --timestamps=false Show timestamps

--tail="all" Output the specified number of lines at the end of logs (defaults to all logs)

參考文檔:Docker Run Reference

4.9 Docker 1.3 新增特性和命令Digital Signature Verification

Docker 1.3 版本將使用數(shù)字簽名自動(dòng)驗(yàn)證所有官方庫的來源和完整性,如果一個(gè)官方鏡像被篡改或者被破壞,目前 Docker 只會(huì)對(duì)這種情況發(fā)出警告而并不阻止容器的運(yùn)行。

docker exec --help

Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...] Run a command in an existing container

 -d, --detach=false Detached mode: run command in the background
 -i, --interactive=false Keep STDIN open even if not attached
 -t, --tty=false Allocate a pseudo-TTY

為了簡(jiǎn)化調(diào)試,可以使用docker exec命令通過 Docker API 和 CLI 在運(yùn)行的容器上運(yùn)行程序。

$ docker exec -it ubuntu_bash bash

上例將在容器 ubuntu_bash 中創(chuàng)建一個(gè)新的 Bash 會(huì)話。

Tune container lifecycles withdocker create

我們可以通過docker run <image name>命令創(chuàng)建一個(gè)容器并運(yùn)行其中的程序,因?yàn)橛泻芏嘤脩粢髣?chuàng)建容器的時(shí)候不啟動(dòng)容器,所以docker create應(yīng)運(yùn)而生了。

$ docker create -t -i fedora bash6d8af538ec541dd581ebc2a24153a28329acb5268abe5ef868c1f1a261221752

上例創(chuàng)建了一個(gè)可寫的容器層 (并且打印出容器 ID),但是并不運(yùn)行它,可以使用以下命令運(yùn)行該容器:

$ docker start -a -i 6d8af538ec5bash-4.2#

Security Options

通過--security-opt選項(xiàng),運(yùn)行容器時(shí)用戶可自定義 SELinux 和 AppArmor 卷標(biāo)和配置。

$ docker run --security-opt label:type:svirt_apache -i -t centos \ bash

上例只允許容器監(jiān)聽在 Apache 端口,這個(gè)選項(xiàng)的好處是用戶不需要運(yùn)行 docker 的時(shí)候指定--privileged選項(xiàng),降低安全風(fēng)險(xiǎn)。

參考文檔:Docker 1.3: signed images, process injection, security options, Mac shared directories

4.10 Docker 1.5 新特性

參考文檔:Docker 1.5 新特性

五、Docker 端口映射

# Find IP address of container with ID <container_id> 通過容器 id 獲取 ip $ sudo docker inspect <container_id> | grep IPAddress | cut -d '"' -f 4

無論如何,這些 ip 是基于本地系統(tǒng)的并且容器的端口非本地主機(jī)是訪問不到的。此外,除了端口只能本地訪問外,對(duì)于容器的另外一個(gè)問題是這些 ip 在容器每次啟動(dòng)的時(shí)候都會(huì)改變。

Docker 解決了容器的這兩個(gè)問題,并且給容器內(nèi)部服務(wù)的訪問提供了一個(gè)簡(jiǎn)單而可靠的方法。Docker 通過端口綁定主機(jī)系統(tǒng)的接口,允許非本地客戶端訪問容器內(nèi)部運(yùn)行的服務(wù)。為了簡(jiǎn)便的使得容器間通信,Docker 提供了這種連接機(jī)制。

5.1 自動(dòng)映射端口

-P使用時(shí)需要指定--expose選項(xiàng),指定需要對(duì)外提供服務(wù)的端口

$ sudo docker run -t -P --expose 22 --name server ubuntu:14.04

使用docker run -P自動(dòng)綁定所有對(duì)外提供服務(wù)的容器端口,映射的端口將會(huì)從沒有使用的端口池中 (49000..49900) 自動(dòng)選擇,你可以通過docker ps、docker inspect <container_id>或者docker port <container_id> <port>確定具體的綁定信息。

5.2 綁定端口到指定接口

基本語法

$ sudo docker run -p [([<host_interface>:[host_port]])|(<host_port>):]<container_port>[/udp] <image> <cmd>

默認(rèn)不指定綁定 ip 則監(jiān)聽所有網(wǎng)絡(luò)接口。

綁定 TCP 端口

# Bind TCP port 8080 of the container to TCP port 80 on 127.0.0.1 of the host machine.
 $ sudo docker run -p 127.0.0.1:80:8080 <image> <cmd> 
# Bind TCP port 8080 of the container to a dynamically allocated TCP port on 127.0.0.1 of the host machine. 
$ sudo docker run -p 127.0.0.1::8080 <image> <cmd> 
# Bind TCP port 8080 of the container to TCP port 80 on all available interfaces of the host machine.
 $ sudo docker run -p 80:8080 <image> <cmd> 
# Bind TCP port 8080 of the container to a dynamically allocated TCP port on all available interfaces 
$ sudo docker run -p 8080 <image> <cmd>

綁定 UDP 端口

# Bind UDP port 5353 of the container to UDP port 53 on 127.0.0.1 of the host machine. $ sudo docker run -p 127.0.0.1:53:5353/udp <image> <cmd>

六、Docker 網(wǎng)絡(luò)配置

非常詳細(xì)的 Docker 學(xué)習(xí)筆記

圖: Docker - container and lightweight virtualization

Dokcer 通過使用 Linux 橋接提供容器之間的通信,docker0 橋接接口的目的就是方便 Docker 管理。當(dāng) Docker daemon 啟動(dòng)時(shí)需要做以下操作:

creates the docker0 bridge if not present

# 如果 docker0 不存在則創(chuàng)建

searches for an IP address range which doesn't overlap with an existing route

# 搜索一個(gè)與當(dāng)前路由不沖突的 ip 段

picks an IP in the selected range

# 在確定的范圍中選擇 ip

assigns this IP to the docker0 bridge

# 綁定 ip 到 docker06.1 Docker 四種網(wǎng)絡(luò)模式

四種網(wǎng)絡(luò)模式摘自 Docker 網(wǎng)絡(luò)詳解及 pipework 源碼解讀與實(shí)踐

docker run 創(chuàng)建 Docker 容器時(shí),可以用 --net 選項(xiàng)指定容器的網(wǎng)絡(luò)模式,Docker 有以下 4 種網(wǎng)絡(luò)模式:

host 模式,使用 --net=host 指定。

container 模式,使用 --net=container:NAMEorID 指定。

none 模式,使用 --net=none 指定。

bridge 模式,使用 --net=bridge 指定,默認(rèn)設(shè)置

host 模式

如果啟動(dòng)容器的時(shí)候使用 host 模式,那么這個(gè)容器將不會(huì)獲得一個(gè)獨(dú)立的 Network Namespace,而是和宿主機(jī)共用一個(gè) Network Namespace。容器將不會(huì)虛擬出自己的網(wǎng)卡,配置自己的 IP 等,而是使用宿主機(jī)的 IP 和端口。

例如,我們?cè)?10.10.101.105/24 的機(jī)器上用 host 模式啟動(dòng)一個(gè)含有 web 應(yīng)用的 Docker 容器,監(jiān)聽 tcp 80 端口。當(dāng)我們?cè)谌萜髦袌?zhí)行任何類似 ifconfig 命令查看網(wǎng)絡(luò)環(huán)境時(shí),看到的都是宿主機(jī)上的信息。而外界訪問容器中的應(yīng)用,則直接使用 10.10.101.105:80 即可,不用任何 NAT 轉(zhuǎn)換,就如直接跑在宿主機(jī)中一樣。但是,容器的其他方面,如文件系統(tǒng)、進(jìn)程列表等還是和宿主機(jī)隔離的。

container 模式

這個(gè)模式指定新創(chuàng)建的容器和已經(jīng)存在的一個(gè)容器共享一個(gè) Network Namespace,而不是和宿主機(jī)共享。新創(chuàng)建的容器不會(huì)創(chuàng)建自己的網(wǎng)卡,配置自己的 IP,而是和一個(gè)指定的容器共享 IP、端口范圍等。同樣,兩個(gè)容器除了網(wǎng)絡(luò)方面,其他的如文件系統(tǒng)、進(jìn)程列表等還是隔離的。兩個(gè)容器的進(jìn)程可以通過 lo 網(wǎng)卡設(shè)備通信。

none模式

這個(gè)模式和前兩個(gè)不同。在這種模式下,Docker 容器擁有自己的 Network Namespace,但是,并不為 Docker容器進(jìn)行任何網(wǎng)絡(luò)配置。也就是說,這個(gè) Docker 容器沒有網(wǎng)卡、IP、路由等信息。需要我們自己為 Docker 容器添加網(wǎng)卡、配置 IP 等。

bridge模式

非常詳細(xì)的 Docker 學(xué)習(xí)筆記

圖:The Container World | Part 2 Networking

bridge 模式是 Docker 默認(rèn)的網(wǎng)絡(luò)設(shè)置,此模式會(huì)為每一個(gè)容器分配 Network Namespace、設(shè)置 IP 等,并將一個(gè)主機(jī)上的 Docker 容器連接到一個(gè)虛擬網(wǎng)橋上。當(dāng) Docker server 啟動(dòng)時(shí),會(huì)在主機(jī)上創(chuàng)建一個(gè)名為 docker0 的虛擬網(wǎng)橋,此主機(jī)上啟動(dòng)的 Docker 容器會(huì)連接到這個(gè)虛擬網(wǎng)橋上。虛擬網(wǎng)橋的工作方式和物理交換機(jī)類似,這樣主機(jī)上的所有容器就通過交換機(jī)連在了一個(gè)二層網(wǎng)絡(luò)中。接下來就要為容器分配 IP 了,Docker 會(huì)從 RFC1918 所定義的私有 IP 網(wǎng)段中,選擇一個(gè)和宿主機(jī)不同的IP地址和子網(wǎng)分配給 docker0,連接到 docker0 的容器就從這個(gè)子網(wǎng)中選擇一個(gè)未占用的 IP 使用。如一般 Docker 會(huì)使用 172.17.0.0/16 這個(gè)網(wǎng)段,并將 172.17.42.1/16 分配給 docker0 網(wǎng)橋(在主機(jī)上使用 ifconfig 命令是可以看到 docker0 的,可以認(rèn)為它是網(wǎng)橋的管理接口,在宿主機(jī)上作為一塊虛擬網(wǎng)卡使用)

6.2 列出當(dāng)前主機(jī)網(wǎng)橋

$ sudo brctl show # brctl 工具依賴 bridge-utils 軟件包 bridge name bridge id STP enabled interfacesdocker0 8000.000000000000 no

6.3 查看當(dāng)前 docker0 ip

$ sudo ifconfig docker0docker0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xxinet addr:172.17.42.1 Bcast:0.0.0.0 Mask:255.255.0.0

在容器運(yùn)行時(shí),每個(gè)容器都會(huì)分配一個(gè)特定的虛擬機(jī)口并橋接到 docker0。每個(gè)容器都會(huì)配置同 docker0 ip 相同網(wǎng)段的專用 ip 地址,docker0 的 IP 地址被用于所有容器的默認(rèn)網(wǎng)關(guān)。

6.4 運(yùn)行一個(gè)容器

$ sudo docker run -t -i -d ubuntu /bin/bash52f811c5d3d69edddefc75aff5a4525fc8ba8bcfa1818132f9dc7d4f7c7e78b4 $ sudo brctl showbridge name bridge id STP enabled interfacesdocker0 8000.fef213db5a66 no vethQCDY1N

以上, docker0 扮演著 52f811c5d3d6 container 這個(gè)容器的虛擬接口 vethQCDY1N interface 橋接的角色。

使用特定范圍的 IP

Docker 會(huì)嘗試尋找沒有被主機(jī)使用的 ip 段,盡管它適用于大多數(shù)情況下,但是它不是萬能的,有時(shí)候我們還是需要對(duì) ip 進(jìn)一步規(guī)劃。Docker 允許你管理 docker0 橋接或者通過-b選項(xiàng)自定義橋接網(wǎng)卡,需要安裝bridge-utils軟件包。

基本步驟如下:

ensure Docker is stopped

# 確保 docker 的進(jìn)程是停止的

create your own bridge (bridge0 for example)

# 創(chuàng)建自定義網(wǎng)橋

assign a specific IP to this bridge
# 給網(wǎng)橋分配特定的

ipstart Docker with the -b=bridge0 parameter

# 以 -b 的方式指定網(wǎng)橋

# Stopping Docker and removing docker0 $ sudo service docker stop $ sudo ip link set dev docker0 down $ sudo brctl delbr docker0 # Create our own bridge $ sudo brctl addbr bridge0 $ sudo ip addr add 192.168.5.1/24 dev bridge0 $ sudo ip link set dev bridge0 up # Confirming that our bridge is up and running $ ip addr show bridge0
4: bridge0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state UP group default
  link/ether 66:38:d0:0d:76:18 brd ff:ff:ff:ff:ff:ff
  inet 192.168.5.1/24 scope global bridge0
    valid_lft forever preferred_lft forever # Tell Docker about it and restart (on Ubuntu) $ echo 'DOCKER_OPTS="-b=bridge0"' >> /etc/default/docker $ sudo service docker start

參考文檔: Network Configuration

6.5 不同主機(jī)間容器通信

不同容器之間的通信可以借助于 pipework 這個(gè)工具:

$ git clone https://github.com/jpetazzo/pipework.git$ sudo cp -rp pipework/pipework /usr/local/bin/

安裝相應(yīng)依賴軟件

$ sudo apt-get install iputils-arping bridge-utils -y

橋接網(wǎng)絡(luò)

橋接網(wǎng)絡(luò)可以參考 日常問題處理 Tips 關(guān)于橋接的配置說明,這里不再贅述。

# brctl showbridge name bridge id STP enabled interfacesbr0 8000.000c291412cd no eth0docker0 8000.56847afe9799 no vetheb48029

可以刪除 docker0,直接把 docker 的橋接指定為 br0。也可以保留使用默認(rèn)的配置,這樣單主機(jī)容器之間的通信可以通過 docker0,而跨主機(jī)不同容器之間通過 pipework 新建 docker 容器的網(wǎng)卡橋接到 br0,這樣跨主機(jī)容器之間就可以通信了。

ubuntu

$ sudo service docker stop

$ sudo ip link set dev docker0 down$ sudo brctl delbr docker0

$ echo 'DOCKER_OPTS="-b=br0"' >> /etc/default/docker

$ sudo service docker start

CentOS 7/RHEL 7

$ sudo systemctl stop docker

$ sudo ip link set dev docker0 down$ sudo brctl delbr docker0

$ cat /etc/sysconfig/docker | grep 'OPTIONS='OPTIONS=--selinux-enabled -b=br0 -H fd://

$ sudo systemctl start docker

pipework

非常詳細(xì)的 Docker 學(xué)習(xí)筆記

不同容器之間的通信可以借助于 pipework 這個(gè)工具給 docker 容器新建虛擬網(wǎng)卡并綁定 IP 橋接到 br0

$ git clone https://github.com/jpetazzo/pipework.git
$ sudo cp -rp pipework/pipework /usr/local/bin/
$ pipework 
Syntax:
pipework <hostinterface> [-i containerinterface] <guest> <ipaddr>/<subnet>[@default_gateway] [macaddr][@vlan]
pipework <hostinterface> [-i containerinterface] <guest> dhcp [macaddr][@vlan]
pipework --wait [-i containerinterface]

如果刪除了默認(rèn)的 docker0 橋接,把 docker 默認(rèn)橋接指定到了 br0,則最好在創(chuàng)建容器的時(shí)候加上--net=none,防止自動(dòng)分配的 IP 在局域網(wǎng)中有沖突。

$ sudo docker run --rm -ti --net=none ubuntu:14.04 /bin/bash
root@a46657528059:/#
$         # Ctrl-P + Ctrl-Q 回到宿主機(jī) shell,容器 detach 狀態(tài)
$ sudo docker ps
CONTAINER ID  IMAGE     COMMAND    CREATED     STATUS     PORTS   NAMES
a46657528059  ubuntu:14.04  "/bin/bash"  4 minutes ago  Up 4 minutes        hungry_lalande
$ sudo pipework br0 -i eth0 a46657528059 192.168.115.10/24@192.168.115.2 
# 默認(rèn)不指定網(wǎng)卡設(shè)備名,則默認(rèn)添加為 eth1
# 另外 pipework 不能添加靜態(tài)路由,如果有需求則可以在 run 的時(shí)候加上 --privileged=true 權(quán)限在容器中手動(dòng)添加,
# 但這種安全性有缺陷,可以通過 ip netns 操作
$ sudo docker attach a46657528059
root@a46657528059:/# ifconfig eth0
eth0   Link encap:Ethernet HWaddr 86:b6:6b:e8:2e:4d 
     inet addr:192.168.115.10 Bcast:0.0.0.0 Mask:255.255.255.0
     inet6 addr: fe80::84b6:6bff:fee8:2e4d/64 Scope:Link
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
     RX packets:8 errors:0 dropped:0 overruns:0 frame:0
     TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000 
     RX bytes:648 (648.0 B) TX bytes:690 (690.0 B)

root@a46657528059:/# route -n
Kernel IP routing table
Destination   Gateway     Genmask     Flags Metric Ref  Use Iface
0.0.0.0     192.168.115.2  0.0.0.0     UG  0   0    0 eth0
192.168.115.0  0.0.0.0     255.255.255.0  U   0   0  

使用ip netns添加靜態(tài)路由,避免創(chuàng)建容器使用--privileged=true選項(xiàng)造成一些不必要的安全問題:

$ docker inspect --format="{{ .State.Pid }}" a46657528059 # 獲取指定容器 pid
6350
$ sudo ln -s /proc/6350/ns/net /var/run/netns/6350
$ sudo ip netns exec 6350 ip route add 192.168.0.0/16 dev eth0 via 192.168.115.2
$ sudo ip netns exec 6350 ip route  # 添加成功
192.168.0.0/16 via 192.168.115.2 dev eth0 
... ...

在其它宿主機(jī)進(jìn)行相應(yīng)的配置,新建容器并使用 pipework 添加虛擬網(wǎng)卡橋接到 br0,測(cè)試通信情況即可。

另外,pipework 可以創(chuàng)建容器的 vlan 網(wǎng)絡(luò),這里不作過多的介紹了,官方文檔已經(jīng)寫的很清楚了,可以查看以下兩篇文章:

Pipework 官方文檔Docker 網(wǎng)絡(luò)詳解及 pipework 源碼解讀與實(shí)踐七、Dockerfile

Docker 可以通過 Dockerfile 的內(nèi)容來自動(dòng)構(gòu)建鏡像。Dockerfile 是一個(gè)包含創(chuàng)建鏡像所有命令的文本文件,通過docker build命令可以根據(jù) Dockerfile 的內(nèi)容構(gòu)建鏡像,在介紹如何構(gòu)建之前先介紹下 Dockerfile 的基本語法結(jié)構(gòu)。

Dockerfile 有以下指令選項(xiàng):

  1. FROM
  2. MAINTAINER
  3. RUN
  4. CMD
  5. EXPOSE
  6. ENV
  7. ADD
  8. COPY
  9. ENTRYPOINT
  10. VOLUME
  11. USER
  12. WORKDIR
  13. ONBUILD

7.1 FROM

用法:

FROM <image>

或者

FROM <image>

  1. FROM指定構(gòu)建鏡像的基礎(chǔ)源鏡像,如果本地沒有指定的鏡像,則會(huì)自動(dòng)從 Docker 的公共庫 pull 鏡像下來。
  2. FROM必須是 Dockerfile 中非注釋行的第一個(gè)指令,即一個(gè) Dockerfile 從FROM語句開始。
  3. FROM可以在一個(gè) Dockerfile 中出現(xiàn)多次,如果有需求在一個(gè) Dockerfile 中創(chuàng)建多個(gè)鏡像。
  4. 如果FROM語句沒有指定鏡像標(biāo)簽,則默認(rèn)使用latest標(biāo)簽。

7.2 MAINTAINER

用法:

MAINTAINER <name>

指定創(chuàng)建鏡像的用戶

RUN 有兩種使用方式

RUN

RUN "executable", "param1", "param2"

每條RUN指令將在當(dāng)前鏡像基礎(chǔ)上執(zhí)行指定命令,并提交為新的鏡像,后續(xù)的RUN都在之前RUN提交后的鏡像為基礎(chǔ),鏡像是分層的,可以通過一個(gè)鏡像的任何一個(gè)歷史提交點(diǎn)來創(chuàng)建,類似源碼的版本控制。

exec 方式會(huì)被解析為一個(gè) JSON 數(shù)組,所以必須使用雙引號(hào)而不是單引號(hào)。exec 方式不會(huì)調(diào)用一個(gè)命令 shell,所以也就不會(huì)繼承相應(yīng)的變量,如:

RUN [ "echo", "$HOME" ]

這種方式是不會(huì)達(dá)到輸出 HOME 變量的,正確的方式應(yīng)該是這樣的

RUN [ "sh", "-c", "echo", "$HOME" ]

RUN產(chǎn)生的緩存在下一次構(gòu)建的時(shí)候是不會(huì)失效的,會(huì)被重用,可以使用--no-cache選項(xiàng),即docker build --no-cache,如此便不會(huì)緩存。

7.3 CMD

CMD有三種使用方式:

CMD "executable","param1","param2"CMD "param1","param2"CMD command param1 param2 (shell form)

CMD指定在 Dockerfile 中只能使用一次,如果有多個(gè),則只有最后一個(gè)會(huì)生效。

CMD的目的是為了在啟動(dòng)容器時(shí)提供一個(gè)默認(rèn)的命令執(zhí)行選項(xiàng)。如果用戶啟動(dòng)容器時(shí)指定了運(yùn)行的命令,則會(huì)覆蓋掉CMD指定的命令。

CMD會(huì)在啟動(dòng)容器的時(shí)候執(zhí)行,build 時(shí)不執(zhí)行,而RUN只是在構(gòu)建鏡像的時(shí)候執(zhí)行,后續(xù)鏡像構(gòu)建完成之后,啟動(dòng)容器就與RUN無關(guān)了,這個(gè)初學(xué)者容易弄混這個(gè)概念,這里簡(jiǎn)單注解一下。

7.4 EXPOSE

EXPOSE <port> [<port>...]

告訴 Docker 服務(wù)端容器對(duì)外映射的本地端口,需要在 docker run 的時(shí)候使用-p或者-P選項(xiàng)生效。

7.5 ENV

ENV <key> <value> # 只能設(shè)置一個(gè)變量ENV <key>=<value> ... # 允許一次設(shè)置多個(gè)變量

指定一個(gè)環(huán)節(jié)變量,會(huì)被后續(xù)RUN指令使用,并在容器運(yùn)行時(shí)保留。

例子:

ENV myName="John Doe" myDog=Rex\ The\ Dog \ myCat=fluffy

等同于

ENV myName John DoeENV myDog Rex The DogENV myCat fluffy

7.6 ADD

ADD <src>... <dest>

ADD復(fù)制本地主機(jī)文件、目錄或者遠(yuǎn)程文件 URLS 從 并且添加到容器指定路徑中 。

支持通過 GO 的正則模糊匹配,具體規(guī)則可參見 Go filepath.Match

ADD hom* /mydir/ # adds all files starting with "hom"ADD hom?.txt /mydir/ # ? is replaced with any single character

路徑必須是絕對(duì)路徑,如果 不存在,會(huì)自動(dòng)創(chuàng)建對(duì)應(yīng)目錄路徑必須是 Dockerfile 所在路徑的相對(duì)路徑如果是一個(gè)目錄,只會(huì)復(fù)制目錄下的內(nèi)容,而目錄本身則不會(huì)被復(fù)制7.7 COPY

COPY <src>... <dest>

COPY復(fù)制新文件或者目錄從 并且添加到容器指定路徑中 。用法同ADD,唯一的不同是不能指定遠(yuǎn)程文件 URLS。

7.8 ENTRYPOINTENTRYPOINT "executable", "param1", "param2"ENTRYPOINT command param1 param2 (shell form)

配置容器啟動(dòng)后執(zhí)行的命令,并且不可被 docker run 提供的參數(shù)覆蓋,而CMD是可以被覆蓋的。如果需要覆蓋,則可以使用docker run --entrypoint選項(xiàng)。

每個(gè) Dockerfile 中只能有一個(gè)ENTRYPOINT,當(dāng)指定多個(gè)時(shí),只有最后一個(gè)生效。

Exec form ENTRYPOINT 例子

通過ENTRYPOINT使用 exec form 方式設(shè)置穩(wěn)定的默認(rèn)命令和選項(xiàng),而使用CMD添加默認(rèn)之外經(jīng)常被改動(dòng)的選項(xiàng)。

FROM ubuntuENTRYPOINT ["top", "-b"]CMD ["-c"]

通過 Dockerfile 使用ENTRYPOINT展示前臺(tái)運(yùn)行 Apache 服務(wù)

FROM debian:stableRUN apt-get update && apt-get install -y --force-yes apache2EXPOSE 80 443VOLUME ["/var/www", "/var/log/apache2", "/etc/apache2"]ENTRYPOINT ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]

Shell form ENTRYPOINT 例子

這種方式會(huì)在/bin/sh -c中執(zhí)行,會(huì)忽略任何CMD或者docker run命令行選項(xiàng),為了確保docker stop能夠停止長(zhǎng)時(shí)間運(yùn)行ENTRYPOINT的容器,確保執(zhí)行的時(shí)候使用exec選項(xiàng)。

FROM ubuntuENTRYPOINT exec top -b

如果在ENTRYPOINT忘記使用exec選項(xiàng),則可以使用CMD補(bǔ)上:

FROM ubuntuENTRYPOINT top -bCMD --ignored-param1 # --ignored-param2 ... --ignored-param3 ... 依此類推

7.9 VOLUME

VOLUME ["/data"]

創(chuàng)建一個(gè)可以從本地主機(jī)或其他容器掛載的掛載點(diǎn),后續(xù)具體介紹。

7.10 USER

USER daemon

指定運(yùn)行容器時(shí)的用戶名或 UID,后續(xù)的RUN、CMD、ENTRYPOINT也會(huì)使用指定用戶。

7.11 WORKDIR

WORKDIR /path/to/workdir

為后續(xù)的RUN、CMD、ENTRYPOINT指令配置工作目錄??梢允褂枚鄠€(gè)WORKDIR指令,后續(xù)命令如果參數(shù)是相對(duì)路徑,則會(huì)基于之前命令指定的路徑。

WORKDIR /aWORKDIR bWORKDIR cRUN pwd

最終路徑是/a/b/c。

WORKDIR指令可以在ENV設(shè)置變量之后調(diào)用環(huán)境變量:

ENV DIRPATH /pathWORKDIR

$DIRPATH/$DIRNAME

最終路徑則為 /path/$DIRNAME。

7.12 ONBUILD

ONBUILD [INSTRUCTION]

配置當(dāng)所創(chuàng)建的鏡像作為其它新創(chuàng)建鏡像的基礎(chǔ)鏡像時(shí),所執(zhí)行的操作指令。

例如,Dockerfile 使用如下的內(nèi)容創(chuàng)建了鏡像 image-A:

[...]ONBUILD ADD . /app/srcONBUILD

RUN /usr/local/bin/python-build --dir /app/src[...]

如果基于 image-A 創(chuàng)建新的鏡像時(shí),新的 Dockerfile 中使用 FROM image-A 指定基礎(chǔ)鏡像時(shí),會(huì)自動(dòng)執(zhí)行 ONBUILD 指令內(nèi)容,等價(jià)于在后面添加了兩條指令。

# Automatically run the following

ADD . /app/src

RUN /usr/local/bin/python-build --dir /app/src

使用ONBUILD指令的鏡像,推薦在標(biāo)簽中注明,例如 ruby:1.9-onbuild。

7.13 Dockerfile Examples

# Nginx
#
# VERSION        0.0.1

FROM   ubuntu
MAINTAINER Victor Vieux <victor@docker.com>

RUN apt-get update && apt-get install -y inotify-tools nginx apache2 openssh-server

# Firefox over VNC
#
# VERSION        0.3

FROM ubuntu

# Install vnc, xvfb in order to create a 'fake' display and firefox
RUN apt-get update && apt-get install -y x11vnc xvfb firefox
RUN mkdir ~/.vnc
# Setup a password
RUN x11vnc -storepasswd 1234 ~/.vnc/passwd
# Autostart firefox (might not be the best way, but it does the trick)
RUN bash -c 'echo "firefox" >> /.bashrc'

EXPOSE 5900
CMD  ["x11vnc", "-forever", "-usepw", "-create"]

# Multiple images example
#
# VERSION        0.1

FROM ubuntu
RUN echo foo > bar
# Will output something like ===> 907ad6c2736f

FROM ubuntu
RUN echo moo > oink
# Will output something like ===> 695d7793cbe4

# You᾿ll now have two images, 907ad6c2736f with /bar, and 695d7793cbe4 with
# /oink.

7.14 docker build

$ docker build --help

Usage: docker build [OPTIONS] PATH | URL | -

Build a new image from the source code at PATH

 --force-rm=false   Always remove intermediate containers, even after unsuccessful builds # 移除過渡容器,即使構(gòu)建失敗
 --no-cache=false   Do not use cache when building the image               # 不實(shí)用 cache    
 -q, --quiet=false  Suppress the verbose output generated by the containers        
 --rm=true      Remove intermediate containers after a successful build        # 構(gòu)建成功后移除過渡層容器
 -t, --tag=""     Repository name (and optionally a tag) to be applied to the resulting image in case of success

參考文檔:Dockerfile Reference

7.15 dockerfile 最佳實(shí)踐使用.dockerignore文件

為了在docker build過程中更快上傳和更加高效,應(yīng)該使用一個(gè).dockerignore文件用來排除構(gòu)建鏡像時(shí)不需要的文件或目錄。例如,除非.git在構(gòu)建過程中需要用到,否則你應(yīng)該將它添加到.dockerignore文件中,這樣可以節(jié)省很多時(shí)間。

避免安裝不必要的軟件包

為了降低復(fù)雜性、依賴性、文件大小以及構(gòu)建時(shí)間,應(yīng)該避免安裝額外的或不必要的包。例如,不需要在一個(gè)數(shù)據(jù)庫鏡像中安裝一個(gè)文本編輯器。

每個(gè)容器都跑一個(gè)進(jìn)程

在大多數(shù)情況下,一個(gè)容器應(yīng)該只單獨(dú)跑一個(gè)程序。解耦應(yīng)用到多個(gè)容器使其更容易橫向擴(kuò)展和重用。如果一個(gè)服務(wù)依賴另外一個(gè)服務(wù),可以參考 Linking Containers Together。

最小化層

我們知道每執(zhí)行一個(gè)指令,都會(huì)有一次鏡像的提交,鏡像是分層的結(jié)構(gòu),對(duì)于Dockerfile,應(yīng)該找到可讀性和最小化層之間的平衡。

多行參數(shù)排序

如果可能,通過字母順序來排序,這樣可以避免安裝包的重復(fù)并且更容易更新列表,另外可讀性也會(huì)更強(qiáng),添加一個(gè)空行使用\換行:

RUN apt-get update && apt-get install -y \ bzr \ cvs \ git \ mercurial \ subversion

創(chuàng)建緩存

鏡像構(gòu)建過程中會(huì)按照Dockerfile的順序依次執(zhí)行,每執(zhí)行一次指令 Docker 會(huì)尋找是否有存在的鏡像緩存可復(fù)用,如果沒有則創(chuàng)建新的鏡像。如果不想使用緩存,則可以在docker build時(shí)添加--no-cache=true選項(xiàng)。

從基礎(chǔ)鏡像開始就已經(jīng)在緩存中了,下一個(gè)指令會(huì)對(duì)比所有的子鏡像尋找是否執(zhí)行相同的指令,如果沒有則緩存失效。在大多數(shù)情況下只對(duì)比Dockerfile指令和子鏡像就足夠了。ADD和COPY指令除外,執(zhí)行ADD和COPY時(shí)存放到鏡像的文件也是需要檢查的,完成一個(gè)文件的校驗(yàn)之后再利用這個(gè)校驗(yàn)在緩存中查找,如果檢測(cè)的文件改變則緩存失效。RUN apt-get -y update命令只檢查命令是否匹配,如果匹配就不會(huì)再執(zhí)行更新了。

為了有效地利用緩存,你需要保持你的 Dockerfile 一致,并且盡量在末尾修改。

Dockerfile 指令FROM: 只要可能就使用官方鏡像庫作為基礎(chǔ)鏡像RUN: 為保持可讀性、方便理解、可維護(hù)性,把長(zhǎng)或者復(fù)雜的RUN語句使用\分隔符分成多行不建議RUN apt-get update獨(dú)立成行,否則如果后續(xù)包有更新,那么也不會(huì)再執(zhí)行更新避免使用RUN apt-get upgrade或者dist-upgrade,很多必要的包在一個(gè)非privileged權(quán)限的容器里是無法升級(jí)的。如果知道某個(gè)包更新,使用apt-get install -y xxx標(biāo)準(zhǔn)寫法RUN apt-get update && apt-get install -y package-bar package-foo

例子:

RUN apt-get update && apt-get install -y \
  aufs-tools \
  automake \
  btrfs-tools \
  build-essential \
  curl \
  dpkg-sig \
  git \
  iptables \
  libapparmor-dev \
  libcap-dev \
  libsqlite3-dev \
  lxc=1.0* \
  mercurial \
  parallel \
  reprepro \
  ruby1.9.1 \
  ruby1.9.1-dev \
  s3cmd=1.1.0*

CMD: 推薦使用CMD [“executable”, “param1”, “param2”…]這種格式,CMD [“param”, “param”]則配合ENTRYPOINT使用

EXPOSE: Dockerfile 指定要公開的端口,使用docker run時(shí)指定映射到宿主機(jī)的端口即可ENV: 為了使新的軟件更容易運(yùn)行,可以使用ENV更新PATH變量。如ENV PATH /usr/local/nginx/bin:$PATH確保CMD ["nginx"]即可運(yùn)行

ENV也可以這樣定義變量:

ENV PG_MAJOR 9.3
ENV PG_VERSION 9.3.4
RUN curl -SL http://example.com/postgres-$PG_VERSION.tar.xz | tar -xJC /usr/src/postgress && …
ENV PATH /usr/local/postgres-$PG_MAJOR/bin:$PATH

ADDorCOPY:ADD比COPY多一些特性「tar 文件自動(dòng)解包和支持遠(yuǎn)程 URL」,不推薦添加遠(yuǎn)程 URL

如不推薦這種方式:

ADD http://example.com/big.tar.xz /usr/src/things/

RUN tar -xJf /usr/src/things/big.tar.xz -C /usr/src/things

RUN make -C /usr/src/things all

推薦使用 curl 或者 wget 替換,使用如下方式:

RUN mkdir -p /usr/src/things \

&& curl -SL http://example.com/big.tar.gz \ | tar -xJC /usr/src/things \

&& make -C /usr/src/things all

如果不需要添加 tar 文件,推薦使用COPY。

參考文檔:

Best practices for writing DockerfilesDockerfile最佳實(shí)踐(一)Dockerfile最佳實(shí)踐(二)八、容器數(shù)據(jù)管理

docker管理數(shù)據(jù)的方式有兩種:

數(shù)據(jù)卷數(shù)據(jù)卷容器8.1 數(shù)據(jù)卷

數(shù)據(jù)卷是一個(gè)或多個(gè)容器專門指定繞過Union File System的目錄,為持續(xù)性或共享數(shù)據(jù)提供一些有用的功能:

數(shù)據(jù)卷可以在容器間共享和重用數(shù)據(jù)卷數(shù)據(jù)改變是直接修改的數(shù)據(jù)卷數(shù)據(jù)改變不會(huì)被包括在容器中數(shù)據(jù)卷是持續(xù)性的,直到?jīng)]有容器使用它們添加一個(gè)數(shù)據(jù)卷

你可以使用-v選項(xiàng)添加一個(gè)數(shù)據(jù)卷,或者可以使用多次-v選項(xiàng)為一個(gè) docker 容器運(yùn)行掛載多個(gè)數(shù)據(jù)卷。

$ sudo docker run --name data -v /data -t -i ubuntu:14.04 /bin/bash 
# 創(chuàng)建數(shù)據(jù)卷綁定到到新建容器,新建容器中會(huì)創(chuàng)建 /
data 數(shù)據(jù)卷 bash-4.1# ls -ld /data/drwxr-xr-x 2 root root 4096 Jul 23 06:59 /data/bash-4.1
# df -ThFilesystem Type Size Used Avail Use% Mounted on... ... ext4 91G 4.6G 82G 6% /data

創(chuàng)建的數(shù)據(jù)卷可以通過docker inspect獲取宿主機(jī)對(duì)應(yīng)路徑

$ sudo docker inspect data... ... 
"Volumes": { "/data": "/var/lib/docker/vfs/dir/151de401d268226f96d824fdf444e77a4500aed74c495de5980c807a2ffb7ea9" }, # 可以看到創(chuàng)建的數(shù)據(jù)卷宿主機(jī)路徑 ... ...

或者直接指定獲取

$ sudo docker inspect --format="{{ .Volumes }}" datamap[/data: /var/lib/docker/vfs/dir/151de401d268226f96d824fdf444e77a4500aed74c495de5980c807a2ffb7ea9]

掛載宿主機(jī)目錄為一個(gè)數(shù)據(jù)卷

-v選項(xiàng)除了可以創(chuàng)建卷,也可以掛載當(dāng)前主機(jī)的一個(gè)目錄到容器中。

$ sudo docker run --name web -v /source/:/web -t -i ubuntu:14.04 /bin/bashbash-4.1# ls -ld /web/drwxr-xr-x 2 root root 4096 Jul 23 06:59 /web/bash-4.1# df -Th... ... ext4 91G 4.6G 82G 6% /webbash-4.1# exit

默認(rèn)掛載卷是可讀寫的,可以在掛載時(shí)指定只讀

$ sudo docker run --rm --name test -v /source/:/test:ro -t -i ubuntu:14.04 /bin/bash

8.2 創(chuàng)建和掛載一個(gè)數(shù)據(jù)卷容器

如果你有一些持久性的數(shù)據(jù)并且想在容器間共享,或者想用在非持久性的容器上,最好的方法是創(chuàng)建一個(gè)數(shù)據(jù)卷容器,然后從此容器上掛載數(shù)據(jù)。

創(chuàng)建數(shù)據(jù)卷容器

使用--volumes-from選項(xiàng)在另一個(gè)容器中掛載 /test 卷。不管 test 容器是否運(yùn)行,其它容器都可以掛載該容器數(shù)據(jù)卷,當(dāng)然如果只是單獨(dú)的數(shù)據(jù)卷是沒必要運(yùn)行容器的。

添加另一個(gè)容器

$ sudo docker run -t -i -d --volumes-from test --name test2 ubuntu:14.04 /bin/bash

也可以繼承其它掛載有 /test 卷的容器

$ sudo docker run -t -i -d --volumes-from test1 --name test3 ubuntu:14.04 /bin/bash

非常詳細(xì)的 Docker 學(xué)習(xí)筆記

8.3 備份、恢復(fù)或遷移數(shù)據(jù)卷備份

$ sudo docker run --rm --volumes-from test -v $(pwd):/backup ubuntu:14.04 tar cvf /backup/test.tar /testtar: Removing leading `/' from member names/test//test/b/test/d/test/c/test/a

啟動(dòng)一個(gè)新的容器并且從test容器中掛載卷,然后掛載當(dāng)前目錄到容器中為 backup,并備份 test 卷中所有的數(shù)據(jù)為 test.tar,執(zhí)行完成之后刪除容器--rm,此時(shí)備份就在當(dāng)前的目錄下,名為test.tar。

$ ls # 宿主機(jī)當(dāng)前目錄下產(chǎn)生了 test 卷的備份文件 test.tar test.tar

恢復(fù)

你可以恢復(fù)給同一個(gè)容器或者另外的容器,新建容器并解壓備份文件到新的容器數(shù)據(jù)卷

$ sudo docker run -t -i -d -v /test --name test4 ubuntu:14.04 /bin/bash $ sudo docker run --rm --volumes-from test4 -v $(pwd):/backup ubuntu:14.04 tar xvf /backup/test.tar -C / # 恢復(fù)之前的文件到新建卷中,執(zhí)行完后自動(dòng)刪除容器 test/ test/b test/d test/c test/a

8.4 刪除 Volumes

Volume 只有在下列情況下才能被刪除:

docker rm -v刪除容器時(shí)添加了-v選項(xiàng)docker run --rm運(yùn)行容器時(shí)添加了--rm選項(xiàng)

否則,會(huì)在/var/lib/docker/vfs/dir目錄中遺留很多不明目錄。

參考文檔:

Managing Data in Containers深入理解Docker Volume(一)深入理解Docker Volume(二)九、鏈接容器

docker 允許把多個(gè)容器連接在一起,相互交互信息。docker 鏈接會(huì)創(chuàng)建一種容器父子級(jí)別的關(guān)系,其中父容器可以看到其子容器提供的信息。

9.1 容器命名

在創(chuàng)建容器時(shí),如果不指定容器的名字,則默認(rèn)會(huì)自動(dòng)創(chuàng)建一個(gè)名字,這里推薦給容器命名:

1、給容器命名方便記憶,如命名運(yùn)行 web 應(yīng)用的容器為 web2、為 docker 容器提供一個(gè)參考,允許方便其他容器調(diào)用,如把容器 web 鏈接到容器 db

可以通過--name選項(xiàng)給容器自定義命名:

$ sudo docker run -d -t -i --name test ubuntu:14.04 bash $ sudo docker inspect --format="{{ .Nmae }}" test/test

注:容器名稱必須唯一,即你只能命名一個(gè)叫test的容器。如果你想復(fù)用容器名,則必須在創(chuàng)建新的容器前通過docker rm刪除舊的容器或者創(chuàng)建容器時(shí)添加--rm選項(xiàng)。

9.2 鏈接容器

鏈接允許容器間安全通信,使用--link選項(xiàng)創(chuàng)建鏈接。

$ sudo docker run -d --name db training/postgre

基于 training/postgres 鏡像創(chuàng)建一個(gè)名為 db 的容器,然后下面創(chuàng)建一個(gè)叫做 web 的容器,并且將它與 db 相互連接在一起

$ sudo docker run -d -P --name web --link db:db training/webapp python app.py

--link <name or id>:alias選項(xiàng)指定鏈接到的容器。

查看 web 容器的鏈接關(guān)系:

$ sudo docker inspect -f "{{ .HostConfig.Links }}" web[/db:/web/db]

可以看到 web 容器被鏈接到 db 容器為/web/db,這允許 web 容器訪問 db 容器的信息。

容器之間的鏈接實(shí)際做了什么?一個(gè)鏈接允許一個(gè)源容器提供信息訪問給一個(gè)接收容器。在本例中,web 容器作為一個(gè)接收者,允許訪問源容器 db 的相關(guān)服務(wù)信息。Docker 創(chuàng)建了一個(gè)安全隧道而不需要對(duì)外公開任何端口給外部容器,因此不需要在創(chuàng)建容器的時(shí)候添加-p或-P指定對(duì)外公開的端口,這也是鏈接容器的最大好處,本例為 PostgreSQL 數(shù)據(jù)庫。

Docker 主要通過以下兩個(gè)方式提供連接信息給接收容器:

環(huán)境變量更新/etc/hosts文件環(huán)境變量

當(dāng)兩個(gè)容器鏈接,Docker 會(huì)在目標(biāo)容器上設(shè)置一些環(huán)境變量,以獲取源容器的相關(guān)信息。

首先,Docker 會(huì)在每個(gè)通過--link選項(xiàng)指定別名的目標(biāo)容器上設(shè)置一個(gè)<alias>_NAME環(huán)境變量。如果一個(gè)名為 web 的容器通過--link db:webdb被鏈接到一個(gè)名為 db 的數(shù)據(jù)庫容器,那么 web 容器上會(huì)設(shè)置一個(gè)環(huán)境變量為WEBDB_NAME=/web/webdb.

以之前的為例,Docker 還會(huì)設(shè)置端口變量:

$ sudo docker run --rm --name web2 --link db:db training/webapp env. . .DB_NAME=/web2/dbDB_PORT=tcp://172.17.0.5:5432 DB_PORT_5432_TCP=tcp://172.17.0.5:5432 # <name>_PORT_<port>_<protocol> 協(xié)議可以是 TCP 或 UDPDB_PORT_5432_TCP_PROTO=tcpDB_PORT_5432_TCP_PORT=5432DB_PORT_5432_TCP_ADDR=172.17.0.5. . .

注:這些環(huán)境變量只設(shè)置給容器中的第一個(gè)進(jìn)程,類似一些守護(hù)進(jìn)程 (如 sshd ) 當(dāng)他們派生 shells 時(shí)會(huì)清除這些變量

更新/etc/hosts文件

除了環(huán)境變量,Docker 會(huì)在目標(biāo)容器上添加相關(guān)主機(jī)條目到/etc/hosts中,上例中就是 web 容器。

$ sudo docker run -t -i --rm --link db:db training/webapp /bin/bashroot@aed84ee21bde:/opt/webapp
# cat /etc/hosts172.17.0.7 aed84ee21bde. . .172.17.0.5 db

/etc/host文件在源容器被重啟之后會(huì)自動(dòng)更新 IP 地址,而環(huán)境變量中的 IP 地址則不會(huì)自動(dòng)更新的。

十、構(gòu)建私有庫

Docker 官方提供了 docker registry 的構(gòu)建方法 docker-registry

10.1 快速構(gòu)建

快速構(gòu)建 docker registry 通過以下兩步:

安裝 docker運(yùn)行 registry:docker run -p 5000:5000 registry

這種方法通過 Docker hub 使用官方鏡像 official image from the Docker hub

10.2 不使用容器構(gòu)建 registry安裝必要的軟件

$ sudo apt-get install build-essential python-dev libevent-dev python-pip liblzma-dev

配置 docker-registry

sudo pip install docker-registry

或者 使用 github clone 手動(dòng)安裝

$ git clone https://github.com/dotcloud/docker-registry.git

$ cd docker-registry/

$ cp config/config_sample.yml config/config.yml$ mkdir /data/registry -p

$ pip install .

運(yùn)行

docker-registry

高級(jí)啟動(dòng)方式 [不推薦]

使用gunicorn控制:

gunicorn -c contrib/gunicorn_config.py docker_registry.wsgi:application

或者對(duì)外監(jiān)聽開放

gunicorn --access-logfile - --error-logfile - -k gevent -b 0.0.0.0:5000 -w 4 --max-requests 100 docker_registry.wsgi:application

10.3 提交指定容器到私有庫

$ docker tag ubuntu:12.04 私有庫IP:5000/ubuntu:12.04$ docker push 私有庫IP:5000/ubuntu

更多的配置選項(xiàng)推薦閱讀官方文檔:

Docker-Registry README

Docker-Registry advanced use

來自:http://opskumu.github.io/docker.html

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Docker 清理命令集錦

    Docker 清理命令集錦

    這篇文章主要介紹了Docker 清理命令集錦,需要的朋友可以參考下
    2014-10-10
  • 在docker中部署tomcat并且部署java應(yīng)用程序的步驟詳解

    在docker中部署tomcat并且部署java應(yīng)用程序的步驟詳解

    本文給大家介紹如何在docker中部署tomcat及如何部署我們的應(yīng)用程序到docker容器的tomcat里,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,一起看看吧
    2016-10-10
  • docker?build運(yùn)行報(bào)錯(cuò)source:?not?found解決分析

    docker?build運(yùn)行報(bào)錯(cuò)source:?not?found解決分析

    這篇文章主要為大家介紹了docker?build運(yùn)行報(bào)錯(cuò)source:?not?found解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • docker直接下載太慢,如何更換國內(nèi)靠譜鏡像源

    docker直接下載太慢,如何更換國內(nèi)靠譜鏡像源

    這篇文章主要介紹了docker直接下載太慢,如何更換國內(nèi)靠譜鏡像源問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • docker安裝nginx并部署前端項(xiàng)目的全過程

    docker安裝nginx并部署前端項(xiàng)目的全過程

    作為一個(gè)前端,代碼寫完,最后部署到服務(wù)器,這是一個(gè)必須要了解的過程,這篇文章主要給大家介紹了關(guān)于docker安裝nginx并部署前端項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Docker Portainer 可視化面板的使用

    Docker Portainer 可視化面板的使用

    本文主要介紹了Docker Portainer 可視化面板的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • windows使用docker部署gitlab方式

    windows使用docker部署gitlab方式

    這篇文章主要介紹了windows使用docker部署gitlab方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 詳解六種減小Docker鏡像大小的方法

    詳解六種減小Docker鏡像大小的方法

    這篇文章主要介紹了詳解六種減小Docker鏡像大小的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 手把手帶大家通過Docker部署前后端分離項(xiàng)目(親測(cè)可用)

    手把手帶大家通過Docker部署前后端分離項(xiàng)目(親測(cè)可用)

    近年來前后端分離已經(jīng)成為中大型軟件項(xiàng)目開發(fā)的最佳實(shí)踐,下面這篇文章主要給大家介紹了關(guān)于通過Docker部署前后端分離項(xiàng)目的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • docker內(nèi)部ping和ip命令的使用方式

    docker內(nèi)部ping和ip命令的使用方式

    這篇文章主要介紹了docker內(nèi)部ping和ip命令的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評(píng)論

亚洲一区二区三区av网站| 亚洲老熟妇日本老妇| 做爰视频毛片下载蜜桃视频1| 韩国爱爱视频中文字幕| 亚洲欧美色一区二区| 日韩欧美中文国产在线| 福利视频一区二区三区筱慧| 国产一区二区视频观看| 大鸡吧插逼逼视频免费看| 日本丰满熟妇BBXBBXHD| 人人人妻人人澡人人| 亚洲欧美一区二区三区爱爱动图| 国产精品黄片免费在线观看| 日本女人一级免费片| 国产卡一卡二卡三乱码手机| 久久久久国产成人精品亚洲午夜| 五月天久久激情视频| 天美传媒mv视频在线观看| 狠狠嗨日韩综合久久| 日韩美女综合中文字幕pp| 91免费观看国产免费| 日韩美女综合中文字幕pp| 亚洲一区二区激情在线| 中文字幕一区二区三区人妻大片| 中文字幕之无码色多多| 亚洲一区久久免费视频| 精品视频国产在线观看| 黄色中文字幕在线播放| 制丝袜业一区二区三区| 丝袜肉丝一区二区三区四区在线| 青青草亚洲国产精品视频| 姐姐的朋友2在线观看中文字幕| 久久丁香花五月天色婷婷| 可以免费看的www视频你懂的| 99re久久这里都是精品视频| 免费黄页网站4188| 又色又爽又黄的美女裸体| 欲乱人妻少妇在线视频裸| 美女视频福利免费看| 91精品视频在线观看免费| 亚洲国产第一页在线观看| 欧美日韩激情啪啪啪| free性日本少妇| 把腿张开让我插进去视频 | 好了av中文字幕在线| 二区中出在线观看老师 | 欧美怡红院视频在线观看| 中文字幕高清资源站| 不戴胸罩引我诱的隔壁的人妻| 美女福利视频导航网站| 天天日天天日天天射天天干 | 丰满的子国产在线观看| 久久机热/这里只有| 同居了嫂子在线播高清中文| 亚洲的电影一区二区三区| 婷婷综合蜜桃av在线| 女同久久精品秋霞网| 大香蕉大香蕉在线看| 国产精品久久久久久久女人18| 欧美精品欧美极品欧美视频| 抽查舔水白紧大视频| 日本欧美视频在线观看三区| 97精品视频在线观看| 香蕉aⅴ一区二区三区| 亚洲欧美日韩视频免费观看| 亚洲欧美人精品高清| 中文人妻AV久久人妻水| japanese五十路熟女熟妇| 天天干天天操天天插天天日| 韩国爱爱视频中文字幕| 国产美女午夜福利久久| 免费av岛国天堂网站| 精品高潮呻吟久久av| 天天操夜夜操天天操天天操| 喷水视频在线观看这里只有精品| 国产 在线 免费 精品| 性欧美日本大妈母与子| 一区二区三区精品日本| 亚洲一区二区三区uij| 插小穴高清无码中文字幕| 唐人色亚洲av嫩草| 极品粉嫩小泬白浆20p主播| 白嫩白嫩美女极品国产在线观看| 一区二区三区美女毛片| 色狠狠av线不卡香蕉一区二区| 熟女国产一区亚洲中文字幕| 亚洲欧美激情中文字幕| 人妻少妇性色欲欧美日韩| 大鸡吧插逼逼视频免费看| 自拍偷拍亚洲精品第2页| 100%美女蜜桃视频| 97超碰人人搞人人| 国产夫妻视频在线观看免费| 九色视频在线观看免费| 日韩伦理短片在线观看| 在线免费视频 自拍| 鸡巴操逼一级黄色气| 9色在线视频免费观看| 日本三极片视频网站观看| 免费av岛国天堂网站| 亚洲伊人久久精品影院一美女洗澡 | 伊拉克及约旦宣布关闭领空| 亚洲av色香蕉一区二区三区| 人人爱人人妻人人澡39| 成人区人妻精品一区二视频| 日本五十路熟新垣里子| 精品人人人妻人人玩日产欧| 成人蜜桃美臀九一一区二区三区| 亚洲国产最大av综合| 精品视频一区二区三区四区五区| 在线亚洲天堂色播av电影| 97精品视频在线观看| 午夜精品久久久久麻豆影视| 摧残蹂躏av一二三区| 五十路息与子猛烈交尾视频| 日韩欧美一级精品在线观看| 91国产在线视频免费观看| 自拍偷区二区三区麻豆| 免费观看成年人视频在线观看| 熟女国产一区亚洲中文字幕| 中文字幕亚洲中文字幕| 国产高潮无码喷水AV片在线观看| 最新国产精品网址在线观看| 亚洲老熟妇日本老妇| 亚洲护士一区二区三区| 在线观看免费视频色97| 视频 国产 精品 熟女 | 91chinese在线视频| 一区二区三区日韩久久| 大香蕉玖玖一区2区| 免费在线看的黄网站| 国产精品国产三级国产午| 中文字幕第三十八页久久| 国产使劲操在线播放| 国产美女午夜福利久久| 国产精品国产三级国产精东| 人妻丝袜精品中文字幕| 国产中文精品在线观看| 黄色男人的天堂视频| 在线观看日韩激情视频| 在线成人日韩av电影| 国产伊人免费在线播放| 91九色porny国产蝌蚪视频| 亚洲青青操骚货在线视频| 国产精品一区二区三区蜜臀av| 最新国产精品网址在线观看| 69精品视频一区二区在线观看| 精品乱子伦一区二区三区免费播 | 久久免费看少妇高潮完整版| 美女福利视频网址导航| 国产午夜男女爽爽爽爽爽视频| 久久久久久久精品老熟妇| 都市激情校园春色狠狠| 国产精品伦理片一区二区| 偷拍自拍视频图片免费| 亚洲av日韩精品久久久| 亚洲精品av在线观看| 中文 成人 在线 视频| 国产黄色片在线收看| 白白操白白色在线免费视频| av新中文天堂在线网址| 视频在线亚洲一区二区| 日日爽天天干夜夜操| 日韩欧美国产一区不卡| 2012中文字幕在线高清| 91免费观看国产免费| 天天草天天色天天干| 日韩写真福利视频在线观看| 女生自摸在线观看一区二区三区| 插小穴高清无码中文字幕| japanese日本熟妇另类| 欧美黄片精彩在线免费观看| 日本韩国免费一区二区三区视频| 亚洲综合图片20p| 成人色综合中文字幕| 久久精品在线观看一区二区| 2022中文字幕在线| 岛国青草视频在线观看| 精品日产卡一卡二卡国色天香| 韩国爱爱视频中文字幕| 少妇高潮无套内谢麻豆| 午夜精品久久久久麻豆影视| 日韩av熟妇在线观看| 亚洲免费av在线视频| rct470中文字幕在线| 在线亚洲天堂色播av电影| 无码精品一区二区三区人| 91亚洲国产成人精品性色| 亚洲第一伊人天堂网| 干逼又爽又黄又免费的视频| 日本av高清免费网站| 日日摸夜夜添夜夜添毛片性色av| 国产性色生活片毛片春晓精品| av中文字幕在线导航| 在线免费观看av日韩| 欧美viboss性丰满| 国产精品人妻66p| 国产又粗又硬又大视频| 国产极品精品免费视频| 2o22av在线视频| 热久久只有这里有精品| 九色视频在线观看免费| 天天操天天干天天插| 免费大片在线观看视频网站| 成人30分钟免费视频| 中文字幕人妻被公上司喝醉在线| 欧美一级视频一区二区| 91久久精品色伊人6882| 亚洲青青操骚货在线视频| 福利片区一区二体验区| 99婷婷在线观看视频| 国产成人精品一区在线观看| 中文字幕亚洲久久久| 在线观看操大逼视频| 亚洲av黄色在线网站| 综合激情网激情五月五月婷婷| 亚洲嫩模一区二区三区| 国产综合精品久久久久蜜臀| 日本女大学生的黄色小视频| av破解版在线观看| 亚洲精品在线资源站| 天天爽夜夜爽人人爽QC| 熟妇一区二区三区高清版| 在线成人日韩av电影| 中文字幕在线免费第一页| 日本啪啪啪啪啪啪啪| 亚洲天堂第一页中文字幕| 九九视频在线精品播放| 一区二区三区四区中文| 欧亚乱色一区二区三区| av大全在线播放免费| 熟女人妻一区二区精品视频| 久草电影免费在线观看| 国产高清女主播在线| 91色秘乱一区二区三区| 黄色的网站在线免费看 | 亚洲国产欧美一区二区丝袜黑人| 亚洲精品国品乱码久久久久| 二区中出在线观看老师| 中出中文字幕在线观看 | 91久久人澡人人添人人爽乱| 夜夜躁狠狠躁日日躁麻豆内射 | 日本一二三中文字幕| 精品人妻每日一部精品| 护士特殊服务久久久久久久| 自拍偷拍亚洲欧美在线视频| 亚洲熟妇无码一区二区三区| 适合午夜一个人看的视频| 天天操,天天干,天天射| 亚洲欧美福利在线观看| 3D动漫精品啪啪一区二区下载| 亚洲中文精品人人免费| 97瑟瑟超碰在线香蕉| 成人区人妻精品一区二视频| 1区2区3区不卡视频| 国产精品视频资源在线播放| 国产精品成人xxxx| 亚洲日本一区二区三区| 老司机深夜免费福利视频在线观看| 天天干狠狠干天天操| 精品久久久久久久久久中文蒉| 精品久久婷婷免费视频| 毛片一级完整版免费| 色呦呦视频在线观看视频| 18禁网站一区二区三区四区| 亚洲av日韩av第一区二区三区| 国产又大又黄免费观看| 91快播视频在线观看| 99久久激情婷婷综合五月天| 日本韩国免费一区二区三区视频| 在线观看av2025| 久久丁香婷婷六月天| 中文乱理伦片在线观看| 岛国免费大片在线观看| 成人高潮aa毛片免费| 中文字幕日韩精品日本| 无码中文字幕波多野不卡| 亚洲国产精品久久久久蜜桃| 日韩av大胆在线观看| av在线播放国产不卡| 九色精品视频在线播放| 国产精品久久久久久美女校花| 国产福利小视频二区| 在线播放一区二区三区Av无码| 午夜在线精品偷拍一区二| 精品黑人一区二区三区久久国产 | 精品久久久久久久久久久久人妻| 黄色三级网站免费下载| 中文字幕人妻被公上司喝醉在线| 狠狠的往里顶撞h百合| av手机免费在线观看高潮| 中文字幕第三十八页久久| 日韩美av高清在线| 粉嫩小穴流水视频在线观看| 亚洲午夜福利中文乱码字幕 | 男大肉棒猛烈插女免费视频 | 青青尤物在线观看视频网站| 青青青青青青青青青青草青青| 99精品国产自在现线观看| 视频二区在线视频观看| 成年人午夜黄片视频资源| 免费在线播放a级片| 91免费放福利在线观看| 韩国女主播精品视频网站| av网址在线播放大全| 欧美精产国品一二三产品价格| 蜜桃色婷婷久久久福利在线| 成人免费公开视频无毒| 婷婷综合亚洲爱久久| 欧美视频一区免费在线| 水蜜桃一区二区三区在线观看视频 | 啊啊好大好爽啊啊操我啊啊视频| 自拍偷拍日韩欧美一区二区| 2019av在线视频| 国产黑丝高跟鞋视频在线播放| 熟女人妻在线中出观看完整版| 亚洲av色香蕉一区二区三区| 婷婷六月天中文字幕| 偷拍自拍国产在线视频| 蜜桃臀av蜜桃臀av| 成年美女黄网站18禁久久| 精品国产在线手机在线| 狠狠鲁狠狠操天天晚上干干| 99热国产精品666| 80电影天堂网官网| 免费在线黄色观看网站| 视频一区 二区 三区 综合| 国产91精品拍在线观看| 性感美女福利视频网站| 亚洲av一妻不如妾| 99的爱精品免费视频| 国产清纯美女al在线| 中国老熟女偷拍第一页| 黄色片一级美女黄色片| 毛片av在线免费看| 成年午夜免费无码区| 最新国产精品拍在线观看| 天天操天天弄天天射| 蜜桃视频17c在线一区二区| 亚洲欧美激情中文字幕| 夜色撩人久久7777| 婷婷综合蜜桃av在线| 丝袜国产专区在线观看| 欧美精品一区二区三区xxxx| av天堂加勒比在线| 欧美日韩不卡一区不区二区| 日本啪啪啪啪啪啪啪| 亚洲一区二区三区在线高清| 亚洲成人三级在线播放| 40道精品招牌菜特色| 青青草成人福利电影| 日韩二区视频一线天婷婷五| 男人天堂最新地址av| 国产成人精品亚洲男人的天堂| 免费成人va在线观看| 无码日韩人妻精品久久| 国产综合高清在线观看| 18禁免费av网站| 国产一区二区久久久裸臀| 国产黄色片在线收看| 日辽宁老肥女在线观看视频| 欧美麻豆av在线播放| 青青在线视频性感少妇和隔壁黑丝 | 国产日韩av一区二区在线| 东京干手机福利视频| 免费观看理论片完整版| 成人午夜电影在线观看 久久| 性欧美日本大妈母与子| 午夜场射精嗯嗯啊啊视频| 精品suv一区二区69| 最新欧美一二三视频| 80电影天堂网官网| 亚洲成人线上免费视频观看| 日韩av大胆在线观看| 青青青国产片免费观看视频| 欧美特级特黄a大片免费| 免费岛国喷水视频在线观看| 100%美女蜜桃视频| 97人妻夜夜爽二区欧美极品| 99精品视频在线观看婷婷| 中文字幕亚洲久久久| 国产av一区2区3区| 成人av天堂丝袜在线观看| 亚洲成人线上免费视频观看| 天天插天天色天天日| 偷拍自拍 中文字幕| 中文字幕av熟女人妻| 懂色av之国产精品| 亚洲偷自拍高清视频| 亚洲福利天堂久久久久久| 98视频精品在线观看| 亚洲av日韩av网站| 欧洲亚洲欧美日韩综合| 青青青国产免费视频| 日本一本午夜在线播放| 免费看美女脱光衣服的视频| 少妇深喉口爆吞精韩国| 2020av天堂网在线观看| 日本啪啪啪啪啪啪啪| 在线免费观看视频一二区| 亚洲国产成人在线一区| 2022国产综合在线干| 99热久久这里只有精品| 午夜精品福利一区二区三区p| 又粗又硬又猛又爽又黄的| 亚洲av自拍天堂网| 亚洲成人黄色一区二区三区| 在线播放一区二区三区Av无码| 亚洲视频在线观看高清| 午夜美女少妇福利视频| 国产亚洲欧美45p| 亚洲综合色在线免费观看| 毛茸茸的大外阴中国视频| 自拍 日韩 欧美激情| 国产 在线 免费 精品| 国产 在线 免费 精品| 只有精品亚洲视频在线观看| 岛国免费大片在线观看| 久久精品国产999| 久久免看30视频口爆视频| 狠狠躁夜夜躁人人爽天天天天97| 亚洲av日韩av第一区二区三区| 午夜国产福利在线观看| 一区二区三区精品日本| 91九色porny蝌蚪国产成人| 午夜久久久久久久精品熟女| 亚洲av琪琪男人的天堂| 人妻3p真实偷拍一二区| 沙月文乃人妻侵犯中文字幕在线 | 亚洲 自拍 色综合图| 天堂av在线播放免费| 大屁股肉感人妻中文字幕在线| 热思思国产99re| 青青青aaaa免费| 日日摸夜夜添夜夜添毛片性色av| 制服丝袜在线人妻中文字幕| 男生用鸡操女生视频动漫| 亚洲综合在线观看免费| 18禁网站一区二区三区四区| 五月精品丁香久久久久福利社| 亚洲国产中文字幕啊啊啊不行了| 国产在线自在拍91国语自产精品| 日韩少妇人妻精品无码专区| 亚国产成人精品久久久| 成人H精品动漫在线无码播放| 亚洲av第国产精品| 中国黄色av一级片| 中文字幕 人妻精品| 97人妻色免费视频| 日韩剧情片电影在线收看| 中文字幕日韩精品日本| 久久艹在线观看视频| 1区2区3区4区视频在线观看| 在线观看的黄色免费网站| 337p日本大胆欧美人| 少妇人妻真实精品视频| 人人在线视频一区二区| 加勒比视频在线免费观看| 初美沙希中文字幕在线| 2021天天色天天干| 亚洲精品av在线观看| 精品91自产拍在线观看一区| 女警官打开双腿沦为性奴| 久久久久久cao我的性感人妻 | 免费啪啪啪在线观看视频| 天天干天天爱天天色| 一区二区免费高清黄色视频| 亚洲精品av在线观看| www日韩毛片av| 老司机福利精品免费视频一区二区 | 欧美中国日韩久久精品| 黄色av网站免费在线| 亚洲中文精品字幕在线观看| 中国把吊插入阴蒂的视频| 又黄又刺激的午夜小视频| 韩国三级aaaaa高清视频| 青青青aaaa免费| 中文字幕最新久久久| 人妻另类专区欧美制服| 在线成人日韩av电影| 青青操免费日综合视频观看| 天干天天天色天天日天天射| 亚洲国产成人在线一区| 93精品视频在线观看| 日本少妇的秘密免费视频| 男人的网址你懂的亚洲欧洲av| 999热精品视频在线| 夜色17s精品人妻熟女| 韩国爱爱视频中文字幕| huangse网站在线观看| 91av中文视频在线| 中文亚洲欧美日韩无线码| 日韩三级电影华丽的外出| 视频二区在线视频观看| 国产V亚洲V天堂无码欠欠| 91大神福利视频网| 国产精品人妻一区二区三区网站| 亚洲欧美自拍另类图片| 欧美视频一区免费在线| 青青草成人福利电影| 国产aⅴ一线在线观看| 日本韩国免费福利精品| 久久久噜噜噜久久熟女av| 国产女人露脸高潮对白视频| 国产亚洲视频在线二区| 91人妻人人做人人爽在线| 欧美成人小视频在线免费看| 午夜国产免费福利av| 国产成人精品久久二区91| 三上悠亚和黑人665番号| 欧美在线精品一区二区三区视频| caoporm超碰国产| 亚洲成人激情av在线| 亚洲中文精品人人免费| 国产在线91观看免费观看| 操的小逼流水的文章| 亚洲 欧美 自拍 偷拍 在线| 成人24小时免费视频| 无码日韩人妻精品久久| 色秀欧美视频第一页| av日韩在线免费播放| 天堂av在线最新版在线| 国产九色91在线视频| 亚洲av日韩高清hd| 亚洲一区二区三区av网站| 黄色片黄色片wyaa| 亚洲av无硬久久精品蜜桃| 亚洲一区二区三区偷拍女厕91| 丝袜长腿第一页在线| 自拍偷区二区三区麻豆| 国产午夜福利av导航| 在线观看欧美黄片一区二区三区| 不卡精品视频在线观看| 国产精彩对白一区二区三区| 适合午夜一个人看的视频| 制丝袜业一区二区三区| 亚洲第一黄色在线观看| 少妇系列一区二区三区视频| 日本最新一二三区不卡在线| 国产精品福利小视频a| 黄色片一级美女黄色片| 免费观看理论片完整版| 中文字幕国产专区欧美激情| 日本一区二区三区免费小视频| 中文字幕亚洲中文字幕| 成人av中文字幕一区| 玩弄人妻熟妇性色av少妇| mm131美女午夜爽爽爽| 91国产资源在线视频| 欧美精品中文字幕久久二区| 天堂av中文在线最新版| 操人妻嗷嗷叫视频一区二区| ka0ri在线视频| 亚洲成人情色电影在线观看| 丁香花免费在线观看中文字幕 | 欧美另类z0z变态| 在线免费观看靠比视频的网站| 亚洲 自拍 色综合图| 欧美色婷婷综合在线| 国产在线观看黄色视频| 91久久精品色伊人6882| 亚洲av在线观看尤物| 五色婷婷综合狠狠爱| 国产一区二区三免费视频| 在线观看视频污一区| 国产在线免费观看成人| 亚洲天堂av最新网址| 男女啪啪啪啪啪的网站| 黄片三级三级三级在线观看| 中文字幕第1页av一天堂网| 人妻丝袜av在线播放网址| 国产乱子伦一二三区| 欧美视频综合第一页| 青草久久视频在线观看| 久久www免费人成一看片| 综合精品久久久久97| yellow在线播放av啊啊啊 | 蜜桃专区一区二区在线观看| 日韩视频一区二区免费观看| 果冻传媒av一区二区三区| 五十路息与子猛烈交尾视频| 日本欧美视频在线观看三区| 久久国产精品精品美女| 欧美一区二区三区高清不卡tv| 中文字幕午夜免费福利视频| 最近的中文字幕在线mv视频| 成人精品在线观看视频| 熟女少妇激情五十路| 日韩精品电影亚洲一区| 青青青国产片免费观看视频| 国产大学生援交正在播放| 专门看国产熟妇的网站| 亚洲一区自拍高清免费视频| 91精品激情五月婷婷在线| 天天操天天插天天色| 视频在线免费观看你懂得| 天美传媒mv视频在线观看| 97精品综合久久在线| 日韩av熟妇在线观看| okirakuhuhu在线观看| 欧美精品激情在线最新观看视频| av俺也去在线播放| 欧美日韩激情啪啪啪| 真实国产乱子伦一区二区| 欧美精品一二三视频| 男人操女人的逼免费视频| 天天色天天舔天天射天天爽| 亚洲午夜在线视频福利| 中文字幕在线观看国产片| 欧美亚洲偷拍自拍色图| 最新91九色国产在线观看| 999九九久久久精品| 视频啪啪啪免费观看| 人人在线视频一区二区| 99精品亚洲av无码国产另类| 一二三中文乱码亚洲乱码one| 国产综合视频在线看片| 精品人妻一二三区久久| 国产精品污污污久久| 中文字幕最新久久久| 综合一区二区三区蜜臀| 真实国产乱子伦一区二区| 亚洲中文字幕乱码区| 欧美女同性恋免费a| 加勒比视频在线免费观看| 美女张开两腿让男人桶av| 天美传媒mv视频在线观看| 亚洲一区自拍高清免费视频| 天天插天天色天天日| 97精品成人一区二区三区| 伊拉克及约旦宣布关闭领空| 国产精品久久久久网| 精品视频中文字幕在线播放| 日韩成人性色生活片| 成年午夜免费无码区| 91av中文视频在线| 瑟瑟视频在线观看免费视频| 久久久久久久久久性潮| 插逼视频双插洞国产操逼插洞| 日本丰满熟妇大屁股久久| 久草视频 久草视频2| 绝色少妇高潮3在线观看| 国产实拍勾搭女技师av在线| 一区二区三区日本伦理| 亚洲欧美激情人妻偷拍| 不卡一区一区三区在线| 成人亚洲精品国产精品 | 国内资源最丰富的网站| 男大肉棒猛烈插女免费视频| 国产亚洲国产av网站在线| 91啪国自产中文字幕在线| 黄片大全在线观看观看| 天天干天天操天天扣| 日韩二区视频一线天婷婷五| 自拍偷拍亚洲另类色图| 日韩欧美在线观看不卡一区二区 | 欧美viboss性丰满| 久草视频中文字幕在线观看| 亚洲av成人免费网站| 亚洲福利精品福利精品福利| 久草视频中文字幕在线观看| 日本午夜爽爽爽爽爽视频在线观看 | 高潮喷水在线视频观看| 国产超码片内射在线| 天天干天天爱天天色| 亚洲av男人天堂久久| yy96视频在线观看| av网站色偷偷婷婷网男人的天堂| 2022精品久久久久久中文字幕| 黄网十四区丁香社区激情五月天 | 亚洲中文字幕乱码区| 免费在线看的黄网站| 亚洲av自拍天堂网| 日韩美女福利视频网| 大鸡巴插入美女黑黑的阴毛| 熟女在线视频一区二区三区| heyzo蜜桃熟女人妻| 精品亚洲在线免费观看| 日本精品一区二区三区在线视频。| 麻豆性色视频在线观看| 91免费观看在线网站| 青娱乐蜜桃臀av色| 国产视频网站一区二区三区| 大胸性感美女羞爽操逼毛片| 久久久久久九九99精品| 夫妻在线观看视频91| 中文字幕日韩精品日本| 日韩精品啪啪视频一道免费| 亚洲一区二区人妻av| 制服丝袜在线人妻中文字幕| 中文亚洲欧美日韩无线码| 女生自摸在线观看一区二区三区 | 日本三极片视频网站观看| 久久这里只有精品热视频| 免费在线福利小视频| 一区二区三区四区五区性感视频| 亚洲男人让女人爽的视频| 孕妇奶水仑乱A级毛片免费看 | 男人的天堂一区二区在线观看| 亚洲天堂精品福利成人av| 懂色av蜜桃a v| 久草视频首页在线观看| 在线免费观看日本伦理| 亚洲护士一区二区三区| 青青青国产免费视频| 晚上一个人看操B片| 99re国产在线精品| 免费看美女脱光衣服的视频| 丝袜长腿第一页在线| 75国产综合在线视频| 2022国产综合在线干| 国产亚洲精品视频合集| 欧美性感尤物人妻在线免费看| 中文字幕 亚洲av| 九九视频在线精品播放| 日本丰满熟妇大屁股久久| 成年人黄视频在线观看| 中文字幕亚洲久久久| 青青草人人妻人人妻| 3337p日本欧洲大胆色噜噜| 伊人网中文字幕在线视频| 黑人3p华裔熟女普通话| 大香蕉大香蕉大香蕉大香蕉大香蕉 | 国产黄色片在线收看| 久久丁香花五月天色婷婷| 欧美一区二区三区高清不卡tv| 中文乱理伦片在线观看| 国产极品美女久久久久久| 在线可以看的视频你懂的| 国产成人综合一区2区| 丰满的继坶3中文在线观看| 成人资源在线观看免费官网| 性色av一区二区三区久久久 | 天天日天天干天天搡| 自拍 日韩 欧美激情| 在线免费91激情四射 | 国产精品成人xxxx| 一区国内二区日韩三区欧美| 久草福利电影在线观看| 日日摸夜夜添夜夜添毛片性色av| 日本少妇精品免费视频| 亚洲av无乱一区二区三区性色| 亚洲少妇人妻无码精品| 天天日天天干天天舔天天射| 全国亚洲男人的天堂| 日韩二区视频一线天婷婷五| 婷婷久久一区二区字幕网址你懂得| 婷婷久久久综合中文字幕| 91久久国产成人免费网站| 亚洲人妻视频在线网| 爆乳骚货内射骚货内射在线| 日本黄在免费看视频| 最新国产亚洲精品中文在线| 美女视频福利免费看| 99热碰碰热精品a中文| 中文字幕在线欧美精品| 亚洲粉嫩av一区二区三区| 男女啪啪视频免费在线观看| 男大肉棒猛烈插女免费视频| 天天日天天添天天爽| 黄色的网站在线免费看 | 中文字幕 人妻精品| 91国内视频在线观看| 免费在线播放a级片| 91快播视频在线观看| 97青青青手机在线视频| 一色桃子久久精品亚洲| 免费黄页网站4188| 天天日天天干天天要| 不卡一区一区三区在线| 大屁股熟女一区二区三区| 成年人的在线免费视频| 男人和女人激情视频| 班长撕开乳罩揉我胸好爽| 久久这里有免费精品| 久久精品在线观看一区二区| 日韩北条麻妃一区在线| 女警官打开双腿沦为性奴| 人妻在线精品录音叫床| 亚洲欧美激情中文字幕| 老司机免费福利视频网| 亚洲免费国产在线日韩| weyvv5国产成人精品的视频| 男人的天堂一区二区在线观看| 亚洲国产中文字幕啊啊啊不行了| 欧美伊人久久大香线蕉综合| 欧美精品免费aaaaaa| 班长撕开乳罩揉我胸好爽| 红桃av成人在线观看| 夜色撩人久久7777| 制丝袜业一区二区三区| 国产精品免费不卡av| 91九色porny蝌蚪国产成人| 国产高清精品一区二区三区| 婷婷色国产黑丝少妇勾搭AV | 视频啪啪啪免费观看| 中文字幕第1页av一天堂网 | 亚洲国产欧美一区二区三区…| 亚洲福利天堂久久久久久 | 绯色av蜜臀vs少妇| 久久久噜噜噜久久熟女av| xxx日本hd高清| 91福利在线视频免费观看| 日韩av免费观看一区| 天天日天天日天天擦| 日韩不卡中文在线视频网站| 3D动漫精品啪啪一区二区下载| 91天堂精品一区二区| 黄页网视频在线免费观看| 2019av在线视频| 成人综合亚洲欧美一区| 日韩人妻在线视频免费| 把腿张开让我插进去视频| 亚洲精品欧美日韩在线播放| 91老熟女连续高潮对白| 狠狠躁夜夜躁人人爽天天天天97| 久久三久久三久久三久久| 人妻凌辱欧美丰满熟妇| 青青青青草手机在线视频免费看| 欧美精品伦理三区四区| 专门看国产熟妇的网站| av欧美网站在线观看| 大鸡巴后入爆操大屁股美女| 亚洲一区制服丝袜美腿| 日本最新一二三区不卡在线 | 五十路老熟女码av| 在线播放 日韩 av| 亚洲专区激情在线观看视频| 亚洲成人线上免费视频观看| 日日摸夜夜添夜夜添毛片性色av| 欧美亚洲一二三区蜜臀| 天堂中文字幕翔田av| 小泽玛利亚视频在线观看| 欧美一区二区三区啪啪同性| 早川濑里奈av黑人番号| 福利视频广场一区二区| 热久久只有这里有精品| 经典国语激情内射视频| 亚洲伊人色一综合网| 色哟哟国产精品入口| 亚洲va天堂va国产va久| 熟女人妻一区二区精品视频| 91小伙伴中女熟女高潮| 91一区精品在线观看| 国产97视频在线精品| 福利午夜视频在线合集| 黄页网视频在线免费观看 | 日韩欧美亚洲熟女人妻| 在线视频国产欧美日韩| 日本乱人一区二区三区| 精彩视频99免费在线| 国产大学生援交正在播放| 大学生A级毛片免费视频| 深夜男人福利在线观看| 亚洲欧美精品综合图片小说| 欧美精品中文字幕久久二区| 不卡精品视频在线观看| 日韩美女精品视频在线观看网站| 日本午夜爽爽爽爽爽视频在线观看 | 国产精品一区二区久久久av| 国产三级片久久久久久久| 巨乳人妻日下部加奈被邻居中出 | 国产又粗又黄又硬又爽| av老司机精品在线观看| 久久麻豆亚洲精品av| 大香蕉玖玖一区2区| 久久精品亚洲国产av香蕉| 天天干天天日天天干天天操| 青青青青青青青在线播放视频| 亚洲护士一区二区三区| 日韩视频一区二区免费观看| 国产精品一区二区av国| 少妇被强干到高潮视频在线观看| 东京热男人的av天堂| 污污小视频91在线观看| 日韩欧美高清免费在线| 精内国产乱码久久久久久| 亚洲 图片 欧美 图片| 99国产精品窥熟女精品| 综合激情网激情五月天| 天天日天天干天天搡| 北条麻妃av在线免费观看| 999九九久久久精品| 色婷婷综合激情五月免费观看 | 在线观看一区二区三级| 国产日本欧美亚洲精品视| 骚逼被大屌狂草视频免费看| aaa久久久久久久久| 美女吃鸡巴操逼高潮视频| 亚洲中文字幕人妻一区| 人妻少妇中文有码精品| 日韩影片一区二区三区不卡免费| 骚货自慰被发现爆操| 午夜久久久久久久精品熟女| 婷婷久久一区二区字幕网址你懂得 | 青青青青青青草国产| 精品国产污污免费网站入口自| 人妻凌辱欧美丰满熟妇| 人人妻人人澡欧美91精品| 中国视频一区二区三区| 午夜毛片不卡免费观看视频| 扒开腿挺进肉嫩小18禁视频| 2020中文字幕在线播放| jiuse91九色视频| 亚洲专区激情在线观看视频| 偷拍自拍视频图片免费| 天天射夜夜操综合网| 狠狠操操操操操操操操操| 日韩人妻丝袜中文字幕| 第一福利视频在线观看| 婷婷五月亚洲综合在线| japanese日本熟妇另类| 天码人妻一区二区三区在线看| 国产亚州色婷婷久久99精品| 亚洲成人av在线一区二区| 男人天堂av天天操| 不卡一不卡二不卡三| 精品高跟鞋丝袜一区二区| 不卡精品视频在线观看| 97欧洲一区二区精品免费| 欧亚乱色一区二区三区| 91极品新人『兔兔』精品新作| 91色老99久久九九爱精品| 班长撕开乳罩揉我胸好爽| 婷婷久久久综合中文字幕| 91色网站免费在线观看| 国产日韩av一区二区在线| 摧残蹂躏av一二三区| 黄色的网站在线免费看| 国产揄拍高清国内精品对白| 色偷偷伊人大杳蕉综合网| 人人妻人人爱人人草| 日本成人一区二区不卡免费在线| 天天做天天爽夜夜做少妇| 91试看福利一分钟| 护士特殊服务久久久久久久| 天天躁夜夜躁日日躁a麻豆| 亚洲午夜电影在线观看| 亚洲麻豆一区二区三区| 婷婷激情四射在线观看视频| 成人24小时免费视频| 欧美一级色视频美日韩| 亚洲激情偷拍一区二区| 黄色成人在线中文字幕| 18禁污污污app下载| 青青青视频手机在线观看| 75国产综合在线视频| 韩国亚洲欧美超一级在线播放视频| 男人天堂最新地址av| 午夜国产福利在线观看| 天美传媒mv视频在线观看| 人妻丰满熟妇综合网| 福利视频广场一区二区| 国产av福利网址大全| av网站色偷偷婷婷网男人的天堂| 日日操夜夜撸天天干| av破解版在线观看| 国产不卡av在线免费| sspd152中文字幕在线| 超碰公开大香蕉97| 97精品视频在线观看| 伊人综合免费在线视频| 亚洲精品国产综合久久久久久久久| 国产美女精品福利在线| 日韩中文字幕在线播放第二页| 夏目彩春在线中文字幕| 国产福利小视频免费观看| 欧美一区二区中文字幕电影| 最新91九色国产在线观看| 在线观看日韩激情视频| 2o22av在线视频| 亚洲色偷偷综合亚洲AV伊人| 亚洲欧美在线视频第一页| 97国产精品97久久| 国产 在线 免费 精品| av日韩在线观看大全| 伊人情人综合成人久久网小说| 伊人成人综合开心网| 888欧美视频在线| 欧美特级特黄a大片免费| 日本av熟女在线视频| 超碰中文字幕免费观看| 日本男女操逼视频免费看| 精品suv一区二区69| 亚洲国产欧美一区二区丝袜黑人| 天天干天天日天天干天天操| 93人妻人人揉人人澡人人| 国产精品入口麻豆啊啊啊| 国产一级精品综合av| 久久h视频在线观看| 一级黄片大鸡巴插入美女| 伊人综合aⅴ在线网| 亚洲av第国产精品| 国产九色91在线观看精品| 啊啊好大好爽啊啊操我啊啊视频 | 久久久久久久精品成人热| 香蕉91一区二区三区| 丝袜长腿第一页在线| 欧美成人小视频在线免费看| 18禁网站一区二区三区四区| 中文字幕一区二区三区人妻大片 | 日本韩国亚洲综合日韩欧美国产| 日本三极片视频网站观看| 一区二区三区欧美日韩高清播放| 加勒比视频在线免费观看| 亚洲av无女神免非久久| 亚洲国产欧美一区二区三区久久| 日本少妇在线视频大香蕉在线观看| 综合色区亚洲熟妇shxstz| 中文字幕日韩无敌亚洲精品| 国产成人精品av网站| 好吊操视频这里只有精品| 成人av中文字幕一区| 精品国产乱码一区二区三区乱| 午夜在线一区二区免费| 日韩在线中文字幕色| 人妻自拍视频中国大陆| 五月婷婷在线观看视频免费| 中文字幕无码日韩专区免费| 亚洲在线观看中文字幕av| 97瑟瑟超碰在线香蕉| 欧美日本在线观看一区二区| 麻豆性色视频在线观看| 国产在线观看免费人成短视频| 免费十精品十国产网站| 国产成人综合一区2区| 92福利视频午夜1000看| 亚洲一区二区三区久久午夜| 888欧美视频在线| 婷婷激情四射在线观看视频| 亚洲国产成人最新资源| 国产一区av澳门在线观看| 日韩成人性色生活片| 粉嫩欧美美人妻小视频| 后入美女人妻高清在线| 国产janese在线播放| 久久久久久久久久一区二区三区 | 欧美地区一二三专区| 精品一区二区三区欧美| 日韩欧美国产一区ab| 亚洲av男人的天堂你懂的| 亚洲午夜电影之麻豆 | 中国熟女@视频91| 欧美地区一二三专区| 中文字幕一区二区三区人妻大片| 麻豆性色视频在线观看| 亚洲欧美色一区二区| 欧美一级片免费在线成人观看 | 黑人巨大的吊bdsm| 亚洲av极品精品在线观看| 天天色天天操天天舔| 天天日天天敢天天干| 亚洲激情av一区二区| 欧美亚洲偷拍自拍色图| 欧美3p在线观看一区二区三区| 亚洲综合一区成人在线| 色狠狠av线不卡香蕉一区二区| 亚洲精品 日韩电影| 天天草天天色天天干| av中文字幕电影在线看| 国产av国片精品一区二区| 天天日天天玩天天摸| 亚洲精品国产久久久久久| www,久久久,com| 久久久久久久久久性潮| 伊人开心婷婷国产av| 视频在线免费观看你懂得| 国产精品精品精品999| 老有所依在线观看完整版 | 中文字幕av第1页中文字幕| 欧美国产亚洲中英文字幕| 精品一线二线三线日本| 亚洲最大免费在线观看| 在线网站你懂得老司机| 视频一区 二区 三区 综合| 狠狠躁夜夜躁人人爽天天天天97| 黑人性生活视频免费看| 亚洲va国产va欧美va在线| 日本啪啪啪啪啪啪啪| 中文字幕第三十八页久久| 在线 中文字幕 一区| 亚洲人妻视频在线网| 日本人妻少妇18—xx| 亚洲国产在人线放午夜| 天天射,天天操,天天说| 欧美性受xx黑人性猛交| xxx日本hd高清| 98视频精品在线观看| 欧美在线精品一区二区三区视频 | 播放日本一区二区三区电影| 天天日天天干天天要| 欧美黑人性暴力猛交喷水| 亚洲综合图片20p| 国产精品sm调教视频| 毛片av在线免费看| 欧美日韩亚洲国产无线码| 丝袜肉丝一区二区三区四区在线 | 99精品免费久久久久久久久a| 成人影片高清在线观看| 久久机热/这里只有| 亚洲av可乐操首页| av中文字幕网址在线| 人妻少妇亚洲一区二区| 久久精品视频一区二区三区四区| 三级av中文字幕在线观看| 亚洲女人的天堂av| 成年人该看的视频黄免费| 美女福利写真在线观看视频| 91九色国产熟女一区二区| 五月天色婷婷在线观看视频免费| 性感美女诱惑福利视频| 人人妻人人人操人人人爽| 日韩精品二区一区久久| 亚洲av日韩高清hd| 1区2区3区4区视频在线观看| 少妇被强干到高潮视频在线观看| 骚货自慰被发现爆操| 99热久久这里只有精品| 超污视频在线观看污污污 | 啊慢点鸡巴太大了啊舒服视频| 在线观看av2025| 在线免费91激情四射 | 蜜桃视频入口久久久| 欧美精品激情在线最新观看视频| 2021天天色天天干| 国际av大片在线免费观看| 美洲精品一二三产区区别| 国产视频网站一区二区三区 | 大鸡吧插入女阴道黄色片| 亚洲精品无码色午夜福利理论片| 国产精品一区二区av国| 动漫av网站18禁| 亚洲在线一区二区欧美| www骚国产精品视频| 天天日夜夜干天天操| 中文字幕AV在线免费看 | 真实国产乱子伦一区二区| 国产成人小视频在线观看无遮挡| 99国产精品窥熟女精品| 国产之丝袜脚在线一区二区三区| 国产janese在线播放| 3337p日本欧洲大胆色噜噜| 无码精品一区二区三区人| 少妇高潮无套内谢麻豆| 免费观看成年人视频在线观看 | eeuss鲁片一区二区三区| 97人妻无码AV碰碰视频| 日韩美女搞黄视频免费| 丝袜肉丝一区二区三区四区在线| 亚洲午夜在线视频福利| 天天艹天天干天天操| 2022中文字幕在线| 亚洲中文字幕人妻一区| 888欧美视频在线| 91中文字幕最新合集| 在线免费观看日本伦理| 日本a级视频老女人| 亚洲一区制服丝袜美腿| 国产精品自拍在线视频| 在线国产中文字幕视频| 午夜婷婷在线观看视频| 欧美黑人巨大性xxxxx猛交| 2018在线福利视频| 亚洲国产精品久久久久久6| 免费无毒热热热热热热久| 天天摸天天干天天操科普| 天天射夜夜操狠狠干| 中文字幕日韩精品日本| 青娱乐极品视频青青草| 五十路av熟女松本翔子| 红杏久久av人妻一区| 丝袜长腿第一页在线| 超pen在线观看视频公开97| 国产极品美女久久久久久| 天天日天天做天天日天天做| 久久精品亚洲成在人线a| 三级黄色亚洲成人av| 天干天天天色天天日天天射| 大陆精品一区二区三区久久| 99热国产精品666| 亚洲午夜高清在线观看| 中文字幕+中文字幕| 福利在线视频网址导航| 天天干狠狠干天天操| 欧美日本在线观看一区二区| 国产女人被做到高潮免费视频 | 欧美日韩高清午夜蜜桃大香蕉| 日韩加勒比东京热二区| 激情内射在线免费观看| 一本一本久久a久久精品综合不卡| 9色精品视频在线观看| 啊啊好大好爽啊啊操我啊啊视频| 国产使劲操在线播放| 1769国产精品视频免费观看| 国产精品亚洲а∨天堂免| av久久精品北条麻妃av观看| 国产成人无码精品久久久电影| 国产欧美精品一区二区高清| 又黄又刺激的午夜小视频| 大白屁股精品视频国产| 亚洲人成精品久久久久久久| 欧美交性又色又爽又黄麻豆| 中文字幕日韩精品日本| 日本三极片视频网站观看| 国产高清在线观看1区2区| 爱有来生高清在线中文字幕| 天堂av在线播放免费| 亚洲成人黄色一区二区三区| 久久三久久三久久三久久| 青青青青草手机在线视频免费看| 精品人妻伦一二三区久| 亚洲高清免费在线观看视频| 午夜青青草原网在线观看| 青娱乐蜜桃臀av色| 日韩美在线观看视频黄| 香蕉91一区二区三区| 懂色av蜜桃a v| 亚洲女人的天堂av| 欧美伊人久久大香线蕉综合| 1区2区3区4区视频在线观看| 粉嫩av懂色av蜜臀av| 天天日天天操天天摸天天舔| 国产在线拍揄自揄视频网站| 一级黄色片夫妻性生活| 男生用鸡操女生视频动漫| 国产中文精品在线观看| 精彩视频99免费在线| 亚洲av天堂在线播放| 欧美在线精品一区二区三区视频 | 99久久99久国产黄毛片| 人妻自拍视频中国大陆| 午夜在线观看一区视频| 日本熟妇丰满厨房55| 97人妻夜夜爽二区欧美极品| 欧美精品亚洲精品日韩在线| 视频啪啪啪免费观看| 欧美 亚洲 另类综合| 老司机99精品视频在线观看| 老师啊太大了啊啊啊尻视频| 亚洲日本一区二区久久久精品| 93视频一区二区三区| eeuss鲁片一区二区三区| av手机在线免费观看日韩av| 国产视频在线视频播放| 日本阿v视频在线免费观看| 97a片免费在线观看| 18禁网站一区二区三区四区| 亚洲精品福利网站图片| 欧美黄色录像免费看的| 亚洲 中文 自拍 另类 欧美| 北条麻妃肉色丝袜视频| 2020久久躁狠狠躁夜夜躁| 狠狠躁夜夜躁人人爽天天久天啪| 97年大学生大白天操逼| 91天堂精品一区二区| 亚洲男人的天堂a在线| 亚洲国产香蕉视频在线播放| 青青草原色片网站在线观看| 丁香花免费在线观看中文字幕| 国产视频在线视频播放| 99国内小视频在现欢看| 亚洲1069综合男同| 亚洲国产40页第21页| 亚洲第一黄色在线观看| 狠狠操操操操操操操操操| 综合激情网激情五月五月婷婷| 久久久麻豆精亚洲av麻花| 久草免费人妻视频在线| 91亚洲国产成人精品性色| 久久久精品精品视频视频| 涩涩的视频在线观看视频| 午夜福利人人妻人人澡人人爽| 男女之间激情网午夜在线| 久久这里只有精品热视频| 91免费福利网91麻豆国产精品| 精品久久久久久久久久久久人妻| 亚洲高清一区二区三区视频在线| 亚洲国产40页第21页| 国产中文字幕四区在线观看| 国产aⅴ一线在线观看| 欧美精品久久久久久影院| 中文字幕人妻一区二区视频| 一级A一级a爰片免费免会员| 久久这里只有精品热视频| 国产va精品免费观看| 亚洲久久午夜av一区二区| 69精品视频一区二区在线观看| 亚洲另类综合一区小说| 少妇深喉口爆吞精韩国| 亚洲 中文 自拍 无码| 免费费一级特黄真人片 | 亚洲综合一区二区精品久久| 亚洲精品色在线观看视频| 99婷婷在线观看视频| 唐人色亚洲av嫩草| 免费高清自慰一区二区三区网站| 日本高清在线不卡一区二区| 国产亚洲国产av网站在线| 曰本无码人妻丰满熟妇啪啪| 内射久久久久综合网| 性感美女高潮视频久久久| 国产精彩对白一区二区三区| 国产三级影院在线观看| 女同性ⅹxx女同h偷拍| 综合国产成人在线观看| 开心 色 六月 婷婷| 久草电影免费在线观看| 国产高清精品一区二区三区| 婷婷综合蜜桃av在线| 日韩亚国产欧美三级涩爱| 亚洲av日韩精品久久久| 在线播放 日韩 av| 国产成人午夜精品福利| 一色桃子人妻一区二区三区| 久久尻中国美女视频| 亚洲综合一区成人在线| 男人在床上插女人视频| 亚洲av男人天堂久久| 欧美成人一二三在线网| 中文 成人 在线 视频| 老司机深夜免费福利视频在线观看| 91九色porny国产蝌蚪视频| 中文字幕国产专区欧美激情| 欧美黄片精彩在线免费观看| 欧美日韩亚洲国产无线码| 粉嫩小穴流水视频在线观看| 99热国产精品666| 夜女神免费福利视频| 天天日天天舔天天射进去| 久草视频在线一区二区三区资源站| 国产精品三级三级三级| 国产精品一区二区三区蜜臀av| 中文字幕亚洲中文字幕| 丝袜美腿欧美另类 中文字幕| 97黄网站在线观看| 曰本无码人妻丰满熟妇啪啪| 任你操视频免费在线观看| 少妇露脸深喉口爆吞精| 日本午夜福利免费视频| 欲乱人妻少妇在线视频裸| 美女在线观看日本亚洲一区| 香港一级特黄大片在线播放| 欧美视频中文一区二区三区| 99精品免费久久久久久久久a| 精品视频国产在线观看| 亚洲精品乱码久久久久久密桃明| 国产福利在线视频一区| 香港三日本三韩国三欧美三级| 亚洲区美熟妇久久久久| 熟女少妇激情五十路| 亚洲av日韩精品久久久| 另类av十亚洲av| 最新中文字幕乱码在线| asmr福利视频在线观看| 欧美一级色视频美日韩| 一二三区在线观看视频| 国产综合视频在线看片| 日韩欧美一级黄片亚洲| 美女 午夜 在线视频| 一区二区视频在线观看视频在线| 99热99re在线播放| 98视频精品在线观看| 亚洲欧洲一区二区在线观看| 日韩黄色片在线观看网站| 人人超碰国字幕观看97| 亚洲一级美女啪啪啪| 91色老99久久九九爱精品| 人妻少妇亚洲精品中文字幕| 狠狠的往里顶撞h百合| 午夜在线一区二区免费| 亚洲精品一线二线在线观看| 欧洲亚洲欧美日韩综合| 午夜大尺度无码福利视频| 中文字幕人妻av在线观看| 色婷婷久久久久swag精品| 久久久久久久精品老熟妇| 亚洲免费成人a v| 97青青青手机在线视频| 岛国黄色大片在线观看| 五十路熟女人妻一区二区9933| 欧美国品一二三产区区别| 青青社区2国产视频| 99精品视频在线观看婷婷| 欧美精品一区二区三区xxxx| 天天日天天操天天摸天天舔| 中文字幕av第1页中文字幕| 又色又爽又黄又刺激av网站| 久久这里只有精彩视频免费| 成人福利视频免费在线| 六月婷婷激情一区二区三区| 国产精品sm调教视频| 亚洲av可乐操首页| 亚洲欧美福利在线观看| 成人30分钟免费视频| 在线观看国产网站资源| 五十路老熟女码av| 日本精品一区二区三区在线视频。| 中文字幕无码日韩专区免费| 午夜dv内射一区区| 99av国产精品欲麻豆| 日本一区美女福利视频| 97少妇精品在线观看| 丰满少妇人妻xxxxx| 天天操天天爽天天干| 久久这里有免费精品| 亚洲一级特黄特黄黄色录像片| av大全在线播放免费| 啊啊好大好爽啊啊操我啊啊视频| 欧美专区第八页一区在线播放| 午夜在线精品偷拍一区二| 丝袜肉丝一区二区三区四区在线| 国产白嫩美女一区二区| 久久精品久久精品亚洲人| 精品一区二区三区三区88 | 国产精品3p和黑人大战| 国产高清女主播在线| av天堂资源最新版在线看| 一区二区视频在线观看视频在线| 久久久久久久精品成人热| 韩国黄色一级二级三级| 精品一区二区三区在线观看| 国产 在线 免费 精品| 国产va在线观看精品| 午夜频道成人在线91| 欧美亚洲免费视频观看| 欧美交性又色又爽又黄麻豆| 91chinese在线视频| 色婷婷综合激情五月免费观看 | 一区二区三区毛片国产一区| 亚洲免费在线视频网站| 综合页自拍视频在线播放| 美女吃鸡巴操逼高潮视频| 老司机免费福利视频网| 天堂女人av一区二区| 性色蜜臀av一区二区三区| 青青草原网站在线观看| 91精品国产综合久久久蜜| 国产精品一区二区av国| 成年人午夜黄片视频资源| 九九热99视频在线观看97| 国产九色91在线视频| 成人18禁网站在线播放| 欲满人妻中文字幕在线| 国产精品视频男人的天堂| 欧美精品中文字幕久久二区| 北条麻妃av在线免费观看| 青青草在观免费国产精品| 熟女视频一区,二区,三区| 日韩影片一区二区三区不卡免费| 青青青青青操视频在线观看| 日本性感美女写真视频| 国产精品日韩欧美一区二区| 亚洲成人激情视频免费观看了| 99精品视频在线观看免费播放| 中文字幕一区二区亚洲一区| 色婷婷精品大在线观看| 夏目彩春在线中文字幕| 欧美日本在线视频一区| 国产精品福利小视频a| 91she九色精品国产| 哥哥姐姐综合激情小说| 人人妻人人爽人人澡人人精品| 白嫩白嫩美女极品国产在线观看| 亚洲高清自偷揄拍自拍| 在线免费观看黄页视频| 中文字幕第1页av一天堂网| 无忧传媒在线观看视频| 少妇高潮无套内谢麻豆| 黄网十四区丁香社区激情五月天 | 青娱乐在线免费视频盛宴| 国产日韩一区二区在线看| 天天干天天搞天天摸| 午夜激情久久不卡一区二区| 男人天堂最新地址av| 一区二区三区在线视频福利| 天天通天天透天天插| 2020国产在线不卡视频| 九九热99视频在线观看97| 久精品人妻一区二区三区| 久久精品36亚洲精品束缚| 亚洲最大黄 嗯色 操 啊| 99热99re在线播放| 99国产精品窥熟女精品| 精品一区二区三区三区色爱| 亚洲日本一区二区久久久精品| 天天躁夜夜躁日日躁a麻豆| 国产午夜亚洲精品麻豆| 亚洲av无码成人精品区辽| 88成人免费av网站| 国产精品人妻66p| 中文字幕日韩精品就在这里| 夜女神免费福利视频| 11久久久久久久久久久| 亚洲欧美久久久久久久久| 日本在线一区二区不卡视频| 亚洲在线免费h观看网站| 大鸡吧插逼逼视频免费看| 后入美女人妻高清在线| 午夜美女少妇福利视频| 区一区二区三国产中文字幕| 社区自拍揄拍尻屁你懂的| 精品区一区二区三区四区人妻| 免费观看国产综合视频| 久久久91蜜桃精品ad| 一区二区三区四区视频在线播放| 天天干天天操天天摸天天射| 一区二区三区蜜臀在线| 啊啊好大好爽啊啊操我啊啊视频| 久久丁香花五月天色婷婷| 国产亚洲欧美45p| 国产高清女主播在线| 国产女人叫床高潮大片视频| 1769国产精品视频免费观看| 性欧美日本大妈母与子| 欧美成一区二区三区四区| 日本熟妇色熟妇在线观看| 熟女91pooyn熟女| 成年人黄视频在线观看| 免费男阳茎伸入女阳道视频 | 无忧传媒在线观看视频| 涩涩的视频在线观看视频| 欧美激情电影免费在线| 国产chinesehd精品麻豆| 日韩特级黄片高清在线看| 人妻在线精品录音叫床| 日韩熟女av天堂系列| 99热这里只有国产精品6| 欧美另类z0z变态| 毛茸茸的大外阴中国视频| 日日夜夜精品一二三| 综合激情网激情五月五月婷婷| 青青伊人一精品视频| 国产日本精品久久久久久久| 欧美一区二区三区高清不卡tv| av中文字幕福利网| 大胸性感美女羞爽操逼毛片| 国产亚洲精品品视频在线| 美女在线观看日本亚洲一区| 国产夫妻视频在线观看免费| 久久丁香婷婷六月天| 中文字幕一区二区三区蜜月| 久久精品亚洲国产av香蕉| 午夜av一区二区三区| 日本一二三区不卡无| 精品黑人一区二区三区久久国产| 福利午夜视频在线观看| 亚洲国产美女一区二区三区软件| 一个人免费在线观看ww视频| aⅴ精产国品一二三产品| 午夜在线观看一区视频| 日曰摸日日碰夜夜爽歪歪| 国产性生活中老年人视频网站| 天天操天天操天天碰| 丁香花免费在线观看中文字幕| 欧美中国日韩久久精品| www天堂在线久久| 综合一区二区三区蜜臀| 一区二区熟女人妻视频| 2018在线福利视频| 美女 午夜 在线视频| 男女第一次视频在线观看| 天天射,天天操,天天说| 亚洲精品色在线观看视频| 91自产国产精品视频| 日本黄色特一级视频| 免费在线黄色观看网站| 毛片一级完整版免费| 亚洲美女高潮喷浆视频| 成年人午夜黄片视频资源| 国产成人精品av网站| 亚洲最大黄了色网站| 538精品在线观看视频| 3337p日本欧洲大胆色噜噜| 888欧美视频在线| 亚洲公开视频在线观看| 欧美色呦呦最新网址| 国产视频精品资源网站| 不卡日韩av在线观看| 午夜精品久久久久久99热| 欧美日韩国产一区二区三区三州| 成人高清在线观看视频| 日本熟女50视频免费| 狠狠的往里顶撞h百合| 亚洲美女高潮喷浆视频| 自拍偷拍 国产资源| 久久精品视频一区二区三区四区| 日本性感美女写真视频| 精品视频国产在线观看| 2021最新热播中文字幕| 97小视频人妻一区二区| 国产精品自拍视频大全| 天堂av在线播放免费| 亚洲精品福利网站图片| 精品乱子伦一区二区三区免费播| 天天做天天干天天操天天射| 天美传媒mv视频在线观看| 久久精品久久精品亚洲人| 日本韩国在线观看一区二区| 大鸡八强奸视频在线观看| 欧美精品久久久久久影院| 中文字幕日本人妻中出| 大屁股熟女一区二区三区| 人妻丝袜精品中文字幕| 欧美男人大鸡吧插女人视频| 久久精品国产999| 色av色婷婷人妻久久久精品高清| 爱爱免费在线观看视频| 2021最新热播中文字幕| 精品亚洲国产中文自在线| 亚洲欧美在线视频第一页| 中英文字幕av一区| 视频一区二区三区高清在线| 欧美色婷婷综合在线| 国产片免费观看在线观看| 人妻激情图片视频小说| 亚洲一区二区激情在线| 任你操任你干精品在线视频| 沙月文乃人妻侵犯中文字幕在线| 在线免费观看亚洲精品电影| 亚洲高清国产自产av| 中文字幕国产专区欧美激情| 国产成人精品亚洲男人的天堂| 青青青艹视频在线观看| 在线观看视频网站麻豆| 青青在线视频性感少妇和隔壁黑丝 | 欧美成人综合视频一区二区 | 国产av一区2区3区| 蜜臀成人av在线播放| 亚国产成人精品久久久| 日本后入视频在线观看 | 熟女人妻一区二区精品视频| 婷婷色国产黑丝少妇勾搭AV| 国产性色生活片毛片春晓精品 | 中文字幕av一区在线观看| 国产黄色片在线收看| 97人妻总资源视频| 蜜桃视频在线欧美一区| 97人妻色免费视频| 中文人妻AV久久人妻水| 亚洲成人黄色一区二区三区 | 国产精品熟女久久久久浪潮| 中文字幕日韩无敌亚洲精品| 色av色婷婷人妻久久久精品高清| 97精品综合久久在线| 18禁美女羞羞免费网站| 极品丝袜一区二区三区| 久久午夜夜伦痒痒想咳嗽P| 久久丁香婷婷六月天| 日韩中文字幕福利av| 100%美女蜜桃视频| 国产一级精品综合av| 91国产在线视频免费观看| 在线观看免费岛国av| 精品黑人一区二区三区久久国产| 久久永久免费精品人妻专区| 初美沙希中文字幕在线| 黄色录像鸡巴插进去| av老司机精品在线观看| 免费一级特黄特色大片在线观看| 日本在线一区二区不卡视频| 啊用力插好舒服视频| 日韩一个色综合导航| 337p日本大胆欧美人| 在线观看免费视频色97| 国产露脸对白在线观看| 人妻少妇一区二区三区蜜桃| 欧美特级特黄a大片免费| 亚洲免费国产在线日韩| 日韩北条麻妃一区在线| 密臀av一区在线观看| 激情伦理欧美日韩中文字幕| 午夜久久久久久久精品熟女| 美女张开腿让男生操在线看| 一区二区三区毛片国产一区| 久久www免费人成一看片| 男生舔女生逼逼的视频| 91老师蜜桃臀大屁股| 91在线视频在线精品3| 99精品视频之69精品视频 | 欧洲欧美日韩国产在线| 色哟哟国产精品入口| 欧美亚洲中文字幕一区二区三区| 国产一区成人在线观看视频| 不卡一区一区三区在线| 2020久久躁狠狠躁夜夜躁| 午夜久久久久久久精品熟女| 精品av国产一区二区三区四区| 日本丰满熟妇BBXBBXHD| 大香蕉伊人国产在线| 在线免费观看视频一二区| 亚洲变态另类色图天堂网| 成人av在线资源网站| 一级a看免费观看网站| 精品区一区二区三区四区人妻| 在线观看欧美黄片一区二区三区 | 中出中文字幕在线观看| 超碰公开大香蕉97| 国产高清在线观看1区2区| 久久综合老鸭窝色综合久久| 少妇与子乱在线观看| 91啪国自产中文字幕在线| 北条麻妃av在线免费观看| 女人精品内射国产99| 中文字幕+中文字幕| 天天日天天操天天摸天天舔| 人人妻人人澡人人爽人人dvl| 91在线免费观看成人| 国产精品熟女久久久久浪潮| 亚洲国产成人无码麻豆艾秋| 亚洲午夜精品小视频| 最新国产亚洲精品中文在线| 国产一级麻豆精品免费| 又粗又硬又猛又爽又黄的| 欧美成人一二三在线网| 日韩中文字幕福利av| 在线免费观看日本伦理| 日本www中文字幕| wwwxxx一级黄色片| 91精品国产麻豆国产| av天堂中文字幕最新| 在线网站你懂得老司机| 91精品国产观看免费| 在线播放一区二区三区Av无码| 天天色天天舔天天射天天爽| 男人插女人视频网站| 大肉大捧一进一出好爽在线视频 | 亚洲卡1卡2卡三卡四老狼| 亚洲1069综合男同| 播放日本一区二区三区电影 | 欧美精产国品一二三产品价格| jul—619中文字幕在线| av森泽佳奈在线观看| 中文字幕 人妻精品| 99国内小视频在现欢看| www天堂在线久久| 91p0rny九色露脸熟女| 午夜婷婷在线观看视频| 欧美精品 日韩国产| 国产一区二区火爆视频| 青青草原网站在线观看| 毛茸茸的大外阴中国视频| 欧美黑人与人妻精品| 亚洲美女美妇久久字幕组| 亚洲va国产va欧美精品88| 在线免费观看日本伦理| 亚洲公开视频在线观看| 2020久久躁狠狠躁夜夜躁| 91小伙伴中女熟女高潮| 91色九色porny| 成人av在线资源网站| 在线观看免费视频网| 日本最新一二三区不卡在线 | 日韩一区二区电国产精品| 五十路老熟女码av| 欧洲亚洲欧美日韩综合| 国产成人无码精品久久久电影| 国产高清97在线观看视频| 精品美女久久久久久| 国产男女视频在线播放| 亚洲av自拍天堂网| 18禁无翼鸟成人在线| 午夜久久久久久久99| yellow在线播放av啊啊啊 | av无限看熟女人妻另类av | 风流唐伯虎电视剧在线观看 | 天天操天天射天天操天天天| 欧美黑人巨大性xxxxx猛交| 精彩视频99免费在线| 欧美另类重口味极品在线观看| 国产亚洲成人免费在线观看| 日韩特级黄片高清在线看| 亚洲午夜在线视频福利| 免费av岛国天堂网站| 在线免费观看亚洲精品电影| 又大又湿又爽又紧A视频| 日韩北条麻妃一区在线| 欧美在线精品一区二区三区视频 | 伊人成人在线综合网| 国产一区二区欧美三区| 亚洲Av无码国产综合色区| 春色激情网欧美成人| 老熟妇凹凸淫老妇女av在线观看| 亚洲特黄aaaa片| 日本午夜久久女同精女女| 欧美黑人与人妻精品| 98精产国品一二三产区区别| 白白操白白色在线免费视频| 午夜精品久久久久麻豆影视| 久久精品久久精品亚洲人| 91国偷自产一区二区三区精品| 国产精品视频资源在线播放| 日韩欧美一级黄片亚洲| av在线免费观看亚洲天堂| 无码中文字幕波多野不卡| av日韩在线免费播放| 欧美日韩在线精品一区二区三| 偷拍自拍亚洲美腿丝袜| 青娱乐蜜桃臀av色| 人妻熟女中文字幕aⅴ在线| 日韩精品激情在线观看| 国产日韩欧美视频在线导航| 国产乱弄免费视频观看| 98视频精品在线观看| 91麻豆精品91久久久久同性| 五月色婷婷综合开心网4438| 在线免费观看日本伦理| 青娱乐在线免费视频盛宴| 最新97国产在线视频| 婷婷久久久久深爱网| 免费在线黄色观看网站| 亚洲伊人久久精品影院一美女洗澡 | 欧美在线精品一区二区三区视频| 中文字幕一区二区亚洲一区| 天天做天天干天天操天天射| 美女少妇亚洲精选av| 在线免费观看黄页视频| 沙月文乃人妻侵犯中文字幕在线 | 日本黄色特一级视频| 亚洲日产av一区二区在线| 99热色原网这里只有精品| 国产一区二区在线欧美| 99精品亚洲av无码国产另类| 久青青草视频手机在线免费观看| 999热精品视频在线| 久久午夜夜伦痒痒想咳嗽P| 在线观看av亚洲情色| 粉嫩小穴流水视频在线观看| 日韩精品二区一区久久| 在线国产日韩欧美视频| 午夜精品福利一区二区三区p| 国产又粗又硬又猛的毛片视频| 青青伊人一精品视频| 国产高潮无码喷水AV片在线观看| 日本成人不卡一区二区| 视频一区 二区 三区 综合| 视频一区二区综合精品| 亚洲va欧美va人人爽3p| 国产成人小视频在线观看无遮挡| 夏目彩春在线中文字幕| 一二三区在线观看视频| 黄色大片男人操女人逼| 都市家庭人妻激情自拍视频| 日韩在线中文字幕色| 国产精品成久久久久三级蜜臀av | 婷婷综合蜜桃av在线| 超级碰碰在线视频免费观看| 美女在线观看日本亚洲一区| 免费黄页网站4188| 热99re69精品8在线播放| 午夜久久久久久久99| 色综合久久久久久久久中文| 加勒比视频在线免费观看| 国产va精品免费观看| 91亚洲手机在线视频播放| aⅴ五十路av熟女中出| 成人国产激情自拍三区| 亚洲一级av无码一级久久精品| 全国亚洲男人的天堂| 国产精品免费不卡av| 鸡巴操逼一级黄色气| 快插进小逼里大鸡吧视频| 色综合色综合色综合色| 欧美怡红院视频在线观看| 激情国产小视频在线| 欧美日韩激情啪啪啪| av中文字幕网址在线| 免费成人va在线观看| 天堂中文字幕翔田av| 狠狠躁夜夜躁人人爽天天久天啪| 亚洲综合另类精品小说| 一区二区三区久久久91| 成年人免费看在线视频| 91亚洲国产成人精品性色| 成人影片高清在线观看 | 嫩草aⅴ一区二区三区| 天天日天天日天天擦| www,久久久,com| 亚洲精品欧美日韩在线播放 | 欧美成人小视频在线免费看| 久久久久久久一区二区三| 亚洲美女美妇久久字幕组| 岛国一区二区三区视频在线| 黄色大片男人操女人逼| 福利国产视频在线观看| 亚洲av可乐操首页| 免费观看污视频网站| 2020韩国午夜女主播在线| 91在线免费观看成人| 中文字幕一区二区亚洲一区| 欧美成人小视频在线免费看| 中文字幕亚洲久久久| 人人妻人人人操人人人爽| 人妻av无码专区久久绿巨人| 天天日天天鲁天天操| 91社福利《在线观看| 精品老妇女久久9g国产| 在线播放国产黄色av| 国产品国产三级国产普通话三级| 久久精品亚洲国产av香蕉| 中文字幕在线乱码一区二区| 蜜臀av久久久久久久| 在线观看av亚洲情色| 97黄网站在线观看| 绝顶痉挛大潮喷高潮无码 | 国产精品久久久久久久精品视频| 亚洲精品欧美日韩在线播放| 国产欧美精品一区二区高清| 91精品资源免费观看| 都市家庭人妻激情自拍视频| 国产黄色高清资源在线免费观看| 欧美日韩高清午夜蜜桃大香蕉| 中文字幕日韩精品就在这里| 亚洲一区二区三区精品乱码| 国产三级影院在线观看| 成年人黄视频在线观看| 岛国黄色大片在线观看| 人妻3p真实偷拍一二区| 日韩a级精品一区二区| 欲乱人妻少妇在线视频裸| 人人妻人人爽人人添夜| 18禁污污污app下载| 天天干天天插天天谢| 亚洲欧美成人综合在线观看| 亚洲欧美综合在线探花| 经典国语激情内射视频| www久久久久久久久久久| 天天摸天天干天天操科普| 18禁美女无遮挡免费| 91国语爽死我了不卡| 黑人乱偷人妻中文字幕| 视频二区在线视频观看| 亚洲自拍偷拍精品网| 啪啪啪操人视频在线播放| 一区二区久久成人网| 国产黄网站在线观看播放| 91试看福利一分钟| 美女福利视频网址导航| 日本午夜爽爽爽爽爽视频在线观看 | 亚洲av日韩av第一区二区三区| 在线视频国产欧美日韩| 国产夫妻视频在线观看免费| 五十路av熟女松本翔子| 亚洲欧美另类自拍偷拍色图| 中文字幕一区的人妻欧美日韩| 午夜成午夜成年片在线观看| 黄色大片免费观看网站| 日韩av有码一区二区三区4| 精品区一区二区三区四区人妻 | 无套猛戳丰满少妇人妻| aⅴ精产国品一二三产品| 国产成人精品久久二区91| 欧美精品久久久久久影院| 婷婷五月亚洲综合在线| 日韩二区视频一线天婷婷五| 人人爱人人妻人人澡39| 国产精品自拍偷拍a| 国产精品成久久久久三级蜜臀av | 伊人成人综合开心网| 亚洲一区二区三区精品乱码| 亚洲欧美激情国产综合久久久 | 100%美女蜜桃视频| 91国产在线视频免费观看| 亚洲成人午夜电影在线观看| 一区二区三区四区中文| 美女大bxxxx内射| 日韩精品电影亚洲一区| 成人av免费不卡在线观看| 国产97在线视频观看| 999九九久久久精品| 2020久久躁狠狠躁夜夜躁| 中文字幕av男人天堂| 国产精品国产三级国产精东| 亚洲av成人免费网站| 成人免费做爰高潮视频| 亚洲av日韩av第一区二区三区| 老司机在线精品福利视频| 淫秽激情视频免费观看| 在线视频精品你懂的| 天天射夜夜操狠狠干| 在线观看的a站 最新| 熟女俱乐部一二三区| 欧美精品久久久久久影院| asmr福利视频在线观看| 婷婷五月亚洲综合在线| 日本午夜爽爽爽爽爽视频在线观看| 日韩欧美亚洲熟女人妻| 欧美亚洲一二三区蜜臀| 女同久久精品秋霞网| 摧残蹂躏av一二三区| 九一传媒制片厂视频在线免费观看| 成人在线欧美日韩国产| 91国内视频在线观看| 欧亚乱色一区二区三区| 亚洲av日韩高清hd| 久久久噜噜噜久久熟女av| 久久农村老妇乱69系列| 国产精品人久久久久久| 欧美一区二区三区高清不卡tv| 国产麻豆乱子伦午夜视频观看| 亚洲精品久久视频婷婷| 欧美另类一区二区视频| 秋霞午夜av福利经典影视| 日韩欧美一级黄片亚洲| 岛国毛片视频免费在线观看| 97人妻夜夜爽二区欧美极品| 狠狠嗨日韩综合久久| 人妻熟女中文字幕aⅴ在线| 欧美韩国日本国产亚洲| 成人av电影免费版| 亚洲1区2区3区精华液| 无码国产精品一区二区高潮久久4 日韩欧美一级精品在线观看 | 一级a看免费观看网站| 亚洲1069综合男同| 78色精品一区二区三区| 国产品国产三级国产普通话三级| 亚洲成人av在线一区二区| 韩国女主播精品视频网站| 大鸡巴插入美女黑黑的阴毛| 国产密臀av一区二区三| 国产又大又黄免费观看| 在线视频国产欧美日韩| 成年人的在线免费视频| 欧美黄片精彩在线免费观看| 可以免费看的www视频你懂的| 国产福利小视频二区| 女人精品内射国产99| 欧美交性又色又爽又黄麻豆| 青青青青视频在线播放| 天天操天天射天天操天天天| 亚洲精品国偷自产在线观看蜜桃| 91久久国产成人免费网站| 亚洲av自拍偷拍综合| 女生自摸在线观看一区二区三区| 色吉吉影音天天干天天操| 自拍偷拍 国产资源| 久久精品国产23696| 国产伦精品一区二区三区竹菊| 亚洲综合图片20p| 日本丰满熟妇BBXBBXHD| 在线免费观看日本伦理| 日本乱人一区二区三区| 在线观看av2025| 99久久99一区二区三区| aaa久久久久久久久| 亚洲狠狠婷婷综合久久app| 国产九色91在线观看精品| 把腿张开让我插进去视频| 新97超碰在线观看| 色综合久久久久久久久中文| 天天干天天爱天天色| 午夜av一区二区三区| 九色视频在线观看免费| 成年人黄色片免费网站| 日本韩国免费福利精品| 美日韩在线视频免费看| 国产亚洲精品欧洲在线观看| 91久久国产成人免费网站| 强行扒开双腿猛烈进入免费版| 青青色国产视频在线| 乱亲女秽乱长久久久| 91快播视频在线观看| 亚洲精品三级av在线免费观看| 午夜成午夜成年片在线观看| 在线观看日韩激情视频| 国产福利小视频免费观看| 78色精品一区二区三区| 日本五十路熟新垣里子| 亚洲自拍偷拍综合色| 黄色大片男人操女人逼| 日韩中文字幕在线播放第二页 | 久久久久久久久久久免费女人| 特黄老太婆aa毛毛片| 特级无码毛片免费视频播放| 毛茸茸的大外阴中国视频| 精品国产高潮中文字幕| 青青草精品在线视频观看| 99久久久无码国产精品性出奶水| 欧美第一页在线免费观看视频| 国产老熟女伦老熟妇ⅹ| 亚洲粉嫩av一区二区三区| 91片黄在线观看喷潮| 日韩伦理短片在线观看| 国产成人一区二区三区电影网站| 97青青青手机在线视频 | 懂色av蜜桃a v| 熟女视频一区,二区,三区| 亚洲欧美福利在线观看| 天美传媒mv视频在线观看| 蜜桃视频入口久久久| 日本一区二区三区免费小视频| 人人妻人人爱人人草| 亚洲va天堂va国产va久| 国产亚洲视频在线二区| 免费无毒热热热热热热久| 欧美美女人体视频一区| 亚洲一级av无码一级久久精品| 人人爱人人妻人人澡39| 后入美女人妻高清在线| 精品一区二区三区三区88| 亚洲高清自偷揄拍自拍| 成人综合亚洲欧美一区 | 国产剧情演绎系列丝袜高跟| 日本xx片在线观看| 日本少妇人妻xxxxx18| 大香蕉伊人国产在线| 大陆av手机在线观看| 日韩中文字幕精品淫| 成熟熟女国产精品一区| 香蕉av影视在线观看| 国产精品视频欧美一区二区| 天天躁日日躁狠狠躁av麻豆| 夜色福利视频在线观看| 亚洲无码一区在线影院| 一区二区三区欧美日韩高清播放| 一区二区三区在线视频福利| 三级等保密码要求条款| 精品乱子伦一区二区三区免费播| 夜色17s精品人妻熟女| 97精品人妻一区二区三区精品| 自拍偷拍日韩欧美一区二区| 人人妻人人人操人人人爽| 大鸡巴操b视频在线| 快点插进来操我逼啊视频| 51精品视频免费在线观看| 天堂av在线最新版在线| 五月色婷婷综合开心网4438| 丝袜长腿第一页在线| 黑人性生活视频免费看| 边摸边做超爽毛片18禁色戒| 亚洲美女高潮喷浆视频| 色婷婷六月亚洲综合香蕉| 亚洲成人激情av在线| 狠狠嗨日韩综合久久| 国际av大片在线免费观看| 日本熟妇丰满厨房55| 天天爽夜夜爽人人爽QC| av线天堂在线观看| 五月色婷婷综合开心网4438| 亚洲最大黄 嗯色 操 啊| 亚洲精品乱码久久久本| 啊用力插好舒服视频| 岛国免费大片在线观看| 亚洲另类在线免费观看| 亚洲高清国产自产av| 色噜噜噜噜18禁止观看| 日本精品视频不卡一二三| 97人妻色免费视频| 在线免费观看欧美小视频| 一色桃子久久精品亚洲| 班长撕开乳罩揉我胸好爽| 天天操天天污天天射| 18禁无翼鸟成人在线| 大鸡八强奸视频在线观看| 青青青青青手机视频| 青青草在观免费国产精品| 美女福利视频网址导航| 欧美在线一二三视频| 涩涩的视频在线观看视频| 中文字幕一区二区三区人妻大片| 亚洲成a人片777777| 国产性生活中老年人视频网站| 亚洲精品 日韩电影| 可以在线观看的av中文字幕| 性色蜜臀av一区二区三区| 免费看国产又粗又猛又爽又黄视频| 欧美一区二区三区啪啪同性| 人妻最新视频在线免费观看| 国产精品视频欧美一区二区| 国产福利在线视频一区| 国产av自拍偷拍盛宴| 欧美久久久久久三级网| 国产欧美日韩在线观看不卡| 日辽宁老肥女在线观看视频| 亚洲一级美女啪啪啪| 91精品国产麻豆国产| 蜜桃臀av蜜桃臀av| 狠狠的往里顶撞h百合| 欧美在线一二三视频| 国产夫妻视频在线观看免费| 亚洲伊人色一综合网| 孕妇奶水仑乱A级毛片免费看| 中文字幕第1页av一天堂网| 中文字幕一区的人妻欧美日韩| 黄色中文字幕在线播放| 亚洲一区二区三区久久午夜| 天天日天天干天天要| 啪啪啪18禁一区二区三区| 国产成人综合一区2区| 伊人网中文字幕在线视频| 亚洲色偷偷综合亚洲AV伊人| 丝袜长腿第一页在线| 2019av在线视频| 天天做天天干天天舔| 国产成人精品午夜福利训2021| 天天插天天色天天日| 色吉吉影音天天干天天操| 亚洲女人的天堂av| 韩国三级aaaaa高清视频| 亚洲av成人网在线观看| 91免费放福利在线观看| 91免费观看国产免费| 91久久国产成人免费网站| 久久久久久cao我的性感人妻 | 国产高清在线在线视频| 久草视频在线一区二区三区资源站| 边摸边做超爽毛片18禁色戒| 精品亚洲国产中文自在线| 一个色综合男人天堂| 小泽玛利亚视频在线观看| 色综合久久久久久久久中文| 国产视频精品资源网站| 人人妻人人爽人人添夜| 黄色成人在线中文字幕| 一区二区三区国产精选在线播放 | 日本免费午夜视频网站| 天天干天天啪天天舔| 国产麻豆精品人妻av| 亚洲综合在线观看免费| 可以在线观看的av中文字幕| 搡老妇人老女人老熟女| 黄色三级网站免费下载| 在线观看操大逼视频| 天天操天天爽天天干| 亚洲一区二区人妻av| 中文字幕在线乱码一区二区| 国产精品国产精品一区二区| 欧美区一区二区三视频| 亚洲av香蕉一区区二区三区犇| 99re久久这里都是精品视频| 亚洲乱码中文字幕在线| 91亚洲手机在线视频播放| 免费无毒热热热热热热久| 午夜婷婷在线观看视频| 激情五月婷婷免费视频| 亚洲国际青青操综合网站| 欧美在线精品一区二区三区视频| 5528327男人天堂| 91九色porny蝌蚪国产成人| 91啪国自产中文字幕在线| 亚洲国际青青操综合网站| 美女少妇亚洲精选av| 91免费放福利在线观看| 做爰视频毛片下载蜜桃视频1| 中文字幕国产专区欧美激情| 91福利视频免费在线观看| 国产视频网站一区二区三区 | 日本www中文字幕| 99热这里只有国产精品6| 高潮视频在线快速观看国家快速| 亚洲成人熟妇一区二区三区 | 18禁美女无遮挡免费| 韩国一级特黄大片做受| 中文字幕—97超碰网| 动漫美女的小穴视频| 国产一区二区三免费视频| 大鸡八强奸视频在线观看| 亚洲午夜电影之麻豆| 超碰97免费人妻麻豆| 姐姐的朋友2在线观看中文字幕| 韩国女主播精品视频网站| 亚洲欧美清纯唯美另类| 欧美亚洲免费视频观看| 91在线免费观看成人| 成人性黑人一级av| 国产一区自拍黄视频免费观看| 91麻豆精品久久久久| 在线免费观看黄页视频| 丝袜亚洲另类欧美变态| 欧美精品免费aaaaaa| 日本18禁久久久久久| 六月婷婷激情一区二区三区| caoporm超碰国产| 国产黄色大片在线免费播放| mm131美女午夜爽爽爽| 国产精品亚洲а∨天堂免| 3337p日本欧洲大胆色噜噜| 日本在线一区二区不卡视频| 亚洲中文字幕国产日韩| 视频一区二区综合精品| 成人蜜桃美臀九一一区二区三区| 55夜色66夜色国产精品站| 日本高清成人一区二区三区| 精彩视频99免费在线| 视频 国产 精品 熟女 | 成年女人免费播放视频| 老司机欧美视频在线看| 521精品视频在线观看| 天天日天天添天天爽| 黄片大全在线观看观看| 国产精品3p和黑人大战| 激情色图一区二区三区| 水蜜桃国产一区二区三区| 中文字幕人妻三级在线观看| 99久久成人日韩欧美精品| 最新的中文字幕 亚洲| av亚洲中文天堂字幕网| 蜜桃视频17c在线一区二区| 日日爽天天干夜夜操| 精品黑人巨大在线一区| 2022中文字幕在线| 欧美一区二区中文字幕电影| 国产品国产三级国产普通话三级| 天天操夜夜操天天操天天操| 精品91自产拍在线观看一区| 性感美女福利视频网站| 免费在线福利小视频| 日本韩国免费一区二区三区视频 | 啪啪啪操人视频在线播放| 天天日天天添天天爽| 专门看国产熟妇的网站| 3344免费偷拍视频| 亚洲一区制服丝袜美腿| 午夜精品一区二区三区4| 少妇与子乱在线观看| 青青草原网站在线观看| 操日韩美女视频在线免费看| 少妇露脸深喉口爆吞精| 在线视频免费观看网| 无忧传媒在线观看视频| 桃色视频在线观看一区二区| 一区二区在线观看少妇| 黄工厂精品视频在线观看| 1024久久国产精品| 亚洲一区自拍高清免费视频| 天天干天天操天天摸天天射| 亚洲成人国产综合一区| 国产三级影院在线观看| 在线成人日韩av电影| 国产伦精品一区二区三区竹菊| 国产成人精品久久二区91| 黄网十四区丁香社区激情五月天| 插小穴高清无码中文字幕| 中文字幕在线观看极品视频| 久久久精品国产亚洲AV一| 国产之丝袜脚在线一区二区三区| 18禁美女黄网站色大片下载| 亚洲在线一区二区欧美| 99亚洲美女一区二区三区| 亚洲高清自偷揄拍自拍| 中文字幕在线视频一区二区三区| 在线观看免费视频网| 都市家庭人妻激情自拍视频| 精品视频国产在线观看| 国产亚州色婷婷久久99精品| 日韩中文字幕福利av| 天码人妻一区二区三区在线看| 综合国产成人在线观看| 激情人妻校园春色亚洲欧美 | 深田咏美亚洲一区二区| 18禁污污污app下载| 91人妻人人做人人爽在线| 久久一区二区三区人妻欧美| 91麻豆精品91久久久久同性| 98视频精品在线观看| 亚洲精品午夜久久久久| 国产av福利网址大全| 一区二区三区 自拍偷拍| 高清一区二区欧美系列| 99婷婷在线观看视频| 亚洲第17页国产精品| 狠狠操狠狠操免费视频| 久久麻豆亚洲精品av| 亚洲高清国产拍青青草原| 午夜青青草原网在线观看| 少妇人妻100系列| 人妻自拍视频中国大陆| 一区二区三区在线视频福利| 班长撕开乳罩揉我胸好爽| 午夜精品福利91av| 成人H精品动漫在线无码播放| 91麻豆精品秘密入口在线观看| 男生舔女生逼逼的视频| 欧美一级色视频美日韩| 人妻丝袜精品中文字幕| 国产久久久精品毛片| 中文字幕在线免费第一页| 亚洲少妇人妻无码精品| 人妻熟女在线一区二区| 一二三中文乱码亚洲乱码one| 国产超码片内射在线| 男人天堂av天天操| 97超碰最新免费在线观看| 97人妻夜夜爽二区欧美极品| 欧美精品激情在线最新观看视频| 又粗又硬又猛又黄免费30| 一色桃子人妻一区二区三区| 亚洲黄色av网站免费播放| 亚洲福利天堂久久久久久| sspd152中文字幕在线| 国产日韩欧美美利坚蜜臀懂色| 亚洲精品麻豆免费在线观看| 天天操天天插天天色| caoporn蜜桃视频| 亚洲精品成人网久久久久久小说 | 中文字幕成人日韩欧美| 国产精品视频欧美一区二区| 日韩中文字幕福利av| 青青草原色片网站在线观看| 2021最新热播中文字幕| 日韩无码国产精品强奸乱伦| 亚洲欧美清纯唯美另类| 懂色av蜜桃a v| 日日爽天天干夜夜操| 亚洲精品国产久久久久久| 在线观看免费岛国av| 人人妻人人澡人人爽人人dvl| 亚洲午夜在线视频福利| 日本免费视频午夜福利视频| 天堂av在线最新版在线| 欧美国产亚洲中英文字幕| 国产黄色高清资源在线免费观看| 久久精品在线观看一区二区| 成人性黑人一级av| 国产福利在线视频一区| 国产欧美日韩在线观看不卡| 一本一本久久a久久精品综合不卡| 日韩欧美一级精品在线观看| 亚洲美女高潮喷浆视频| 亚洲av成人免费网站| 国产精品一区二区三区蜜臀av| 啊啊啊视频试看人妻| 91国内精品久久久久精品一| 在线免费观看国产精品黄色| 性欧美日本大妈母与子| japanese五十路熟女熟妇| 亚洲 色图 偷拍 欧美| 天天操天天射天天操天天天| 午夜免费体验区在线观看| 自拍偷拍亚洲欧美在线视频|