国产无遮挡裸体免费直播视频,久久精品国产蜜臀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)論

91中文字幕免费在线观看| av老司机精品在线观看| 中文字幕AV在线免费看 | 亚洲自拍偷拍综合色| 最新黄色av网站在线观看| 亚洲福利精品福利精品福利| 成年人的在线免费视频| 大胆亚洲av日韩av| 99re国产在线精品| 最近中文字幕国产在线| 天堂av在线最新版在线| 中文 成人 在线 视频| 日韩av熟妇在线观看| 国产欧美精品不卡在线| 2021天天色天天干| 国产精品久久久久久久久福交| 99热碰碰热精品a中文| 亚洲中文字幕人妻一区| 国产自拍黄片在线观看| 国产精品手机在线看片| 一区二区三区的久久的蜜桃的视频| 成年人的在线免费视频| 香港三日本三韩国三欧美三级| 日韩一个色综合导航| 日韩成人综艺在线播放| 91综合久久亚洲综合| 绝色少妇高潮3在线观看| 偷拍自拍亚洲美腿丝袜| 97香蕉碰碰人妻国产樱花| 97人妻人人澡爽人人精品| 精品欧美一区二区vr在线观看 | 成年人啪啪视频在线观看| 黄色片年轻人在线观看| 日本韩国在线观看一区二区| 精品人妻一二三区久久| 天天日天天干天天舔天天射| 亚洲精品福利网站图片| 亚洲伊人久久精品影院一美女洗澡| 亚洲成a人片777777| 中文字幕av熟女人妻| 国产一级精品综合av| 一区二区三区久久中文字幕| 一色桃子久久精品亚洲| 久精品人妻一区二区三区| 亚洲少妇高潮免费观看| 大香蕉大香蕉在线有码 av| 国产女孩喷水在线观看| 同居了嫂子在线播高清中文| 极品性荡少妇一区二区色欲| eeuss鲁片一区二区三区| 久久久精品欧洲亚洲av| 一区二区三区蜜臀在线| 精品日产卡一卡二卡国色天香| 日本一二三区不卡无| 午夜免费体验区在线观看| 日韩欧美国产精品91| 激情综合治理六月婷婷| 福利视频广场一区二区| 在线观看视频污一区| 美女张开腿让男生操在线看| 亚洲欧美国产麻豆综合| 欧美精品黑人性xxxx| 色婷婷精品大在线观看| 亚洲激情,偷拍视频| 久久尻中国美女视频| 日本韩国免费一区二区三区视频| 福利一二三在线视频观看| 2019av在线视频| 亚洲福利天堂久久久久久| 青青青视频手机在线观看| 真实国产乱子伦一区二区| 19一区二区三区在线播放| 亚洲成人国产综合一区| 100%美女蜜桃视频| 天天综合天天综合天天网| 日韩精品电影亚洲一区| 成年午夜影片国产片| 同居了嫂子在线播高清中文| 一个色综合男人天堂| 亚洲无线观看国产高清在线| 亚洲激情,偷拍视频| 蜜臀av久久久久久久| 视频一区二区综合精品| 啪啪啪操人视频在线播放| 无码日韩人妻精品久久| 熟女少妇激情五十路| 黄色黄色黄片78在线| 国产精品久久综合久久| 一本一本久久a久久精品综合不卡| 91国语爽死我了不卡| 伊人成人综合开心网| 99re久久这里都是精品视频| 91极品大一女神正在播放| avjpm亚洲伊人久久| 日韩加勒比东京热二区| 亚洲av自拍偷拍综合| 欧美视频中文一区二区三区| 熟妇一区二区三区高清版| 亚洲熟妇无码一区二区三区| 亚洲精品三级av在线免费观看 | 婷婷久久久久深爱网| 真实国模和老外性视频| 国产丰满熟女成人视频| 99热99这里精品6国产| 国产av自拍偷拍盛宴| av中文字幕福利网| 国产成人一区二区三区电影网站| 人人妻人人爽人人澡人人精品| 国产视频一区在线观看| 中文字幕一区二区三区蜜月| 国产日本欧美亚洲精品视| 精品久久久久久久久久久a√国产| 久久永久免费精品人妻专区 | 日本一二三中文字幕| 欧美视频一区免费在线| 五十路熟女人妻一区二| 欧美黄色录像免费看的| 国产女人被做到高潮免费视频| 好男人视频在线免费观看网站| 国产高清在线观看1区2区| 大香蕉玖玖一区2区| 亚洲国产成人最新资源| 国产露脸对白在线观看| 亚洲 中文 自拍 另类 欧美| 亚洲一级 片内射视正片| 直接能看的国产av| 欧美viboss性丰满| 99久久激情婷婷综合五月天| 视频二区在线视频观看| 欧美黑人性暴力猛交喷水| 亚洲美女高潮喷浆视频| 午夜精品久久久久久99热| 蜜桃视频入口久久久| 中文字幕av熟女人妻| 日韩av大胆在线观看| 2020久久躁狠狠躁夜夜躁| 精品一区二区三区欧美| 日韩中文字幕在线播放第二页| 欧美视频综合第一页| 婷婷六月天中文字幕| 青青青青青青青青青国产精品视频| 99国内小视频在现欢看| 久久久久久cao我的性感人妻| 青娱乐极品视频青青草| yy96视频在线观看| 久久久精品国产亚洲AV一| 一区二区视频在线观看免费观看| 91高清成人在线视频| 亚洲欧美激情中文字幕| 黄页网视频在线免费观看| 国产在线拍揄自揄视频网站| 一区二区久久成人网| 人妻自拍视频中国大陆| 区一区二区三国产中文字幕| 18禁网站一区二区三区四区| 成人av免费不卡在线观看| 国产午夜无码福利在线看| 天天日天天天天天天天天天天| 2022国产综合在线干| 精品久久久久久久久久久久人妻 | 精品一区二区三四区| 最新的中文字幕 亚洲| 顶级尤物粉嫩小尤物网站| 午夜激情高清在线观看| 婷婷综合亚洲爱久久| 天天日天天舔天天射进去| 夜鲁夜鲁狠鲁天天在线| 成人30分钟免费视频| 天天干夜夜操啊啊啊| 免费无毒热热热热热热久| 任我爽精品视频在线播放| 色av色婷婷人妻久久久精品高清| 亚洲av自拍天堂网| 日韩欧美国产一区不卡| 51国产成人精品视频| 国产麻豆精品人妻av| 国产精品久久久久网| 一区二区三区毛片国产一区| 精品国产乱码一区二区三区乱| 国产中文字幕四区在线观看| 女同互舔一区二区三区| 国产日韩av一区二区在线| 在线亚洲天堂色播av电影| 大鸡巴操娇小玲珑的女孩逼| 成人国产影院在线观看| 97精品视频在线观看| 婷婷久久久综合中文字幕| 91国内精品自线在拍白富美| 视频二区在线视频观看| 男人的网址你懂的亚洲欧洲av| 大白屁股精品视频国产| 天天摸天天亲天天舔天天操天天爽 | 亚洲欧美在线视频第一页| 久久久精品欧洲亚洲av| 懂色av之国产精品| 亚洲熟女久久久36d| 淫秽激情视频免费观看| 不卡精品视频在线观看| 亚洲男人让女人爽的视频| 玖玖一区二区在线观看| 国产露脸对白在线观看| 狠狠躁夜夜躁人人爽天天天天97| nagger可以指黑人吗| 成人H精品动漫在线无码播放| 欧美xxx成人在线| 欧美日本国产自视大全| 免费观看污视频网站| 免费无码人妻日韩精品一区二区| www久久久久久久久久久| 日本av熟女在线视频| 欧美一级片免费在线成人观看| 午夜美女少妇福利视频| 亚洲伊人久久精品影院一美女洗澡 | 91精品国产91久久自产久强 | 蜜桃久久久久久久人妻| 大陆精品一区二区三区久久| av一本二本在线观看| 亚洲Av无码国产综合色区| 青青在线视频性感少妇和隔壁黑丝 | 国产精品国色综合久久| 韩国亚洲欧美超一级在线播放视频| 一区二区三区的久久的蜜桃的视频| 天天夜天天日天天日| 欧美日韩亚洲国产无线码| 日本后入视频在线观看| 99国产精品窥熟女精品| 93精品视频在线观看| 日本韩国亚洲综合日韩欧美国产| 岳太深了紧紧的中文字幕| 亚洲一区二区久久久人妻| 新97超碰在线观看| 国产91精品拍在线观看| 激情五月婷婷免费视频| 中文字幕在线一区精品| 一级a看免费观看网站| 激情国产小视频在线| 午夜大尺度无码福利视频| 午夜精品久久久久麻豆影视| 狠狠躁夜夜躁人人爽天天久天啪| 2020久久躁狠狠躁夜夜躁| 欧美麻豆av在线播放| 老司机欧美视频在线看| 亚洲美女高潮喷浆视频| 真实国产乱子伦一区二区| 91精品一区二区三区站长推荐| 欧美地区一二三专区| 国产成人精品一区在线观看 | 亚洲国产成人无码麻豆艾秋| 91快播视频在线观看| 40道精品招牌菜特色| 2020中文字幕在线播放| 国产三级片久久久久久久| 动漫黑丝美女的鸡巴| 日韩精品中文字幕播放| 欧美黑人性猛交xxxxⅹooo| 精品久久久久久久久久中文蒉| 欧美精品伦理三区四区| 一区二区熟女人妻视频| av视网站在线观看| 班长撕开乳罩揉我胸好爽| 欧美xxx成人在线| 午夜av一区二区三区| 三级等保密码要求条款| 老鸭窝在线观看一区| 亚洲欧美人精品高清| 新婚人妻聚会被中出| 老司机99精品视频在线观看| 欧美综合婷婷欧美综合| 日本性感美女三级视频| 91片黄在线观看喷潮| 馒头大胆亚洲一区二区| 男人的天堂av日韩亚洲| 久草福利电影在线观看| 欧美视频中文一区二区三区| 国产剧情演绎系列丝袜高跟| 国产剧情演绎系列丝袜高跟| 福利视频一区二区三区筱慧 | 98视频精品在线观看| 久草视频福利在线首页| 久久久久久国产精品| 99久久久无码国产精品性出奶水| 亚洲欧美激情人妻偷拍| 精品老妇女久久9g国产| 在线观看免费视频网| 久久久久久久久久久免费女人| 成人av中文字幕一区| av在线播放国产不卡| 国产在线免费观看成人| 丰满少妇翘臀后进式| 国产黄色片在线收看| 边摸边做超爽毛片18禁色戒| 中文字幕免费在线免费| 亚洲欧美成人综合在线观看| 日本人妻精品久久久久久| 欧美成人精品欧美一级黄色| 亚洲免费国产在线日韩| 少妇高潮无套内谢麻豆| 国产乱子伦一二三区| 中文字幕国产专区欧美激情| 动漫黑丝美女的鸡巴| 成人av久久精品一区二区| 好吊视频—区二区三区| 蜜臀av久久久久蜜臀av麻豆| 3D动漫精品啪啪一区二区下载| 一本一本久久a久久精品综合不卡| 国产白袜脚足J棉袜在线观看| 国产亚洲精品欧洲在线观看| 久久精品在线观看一区二区| 久久99久久99精品影院| 伊人精品福利综合导航| 韩国女主播精品视频网站| 97香蕉碰碰人妻国产樱花| 久久这里只有精彩视频免费| 中文字幕av熟女人妻| 白嫩白嫩美女极品国产在线观看| 亚洲成人线上免费视频观看| 国产一区二区神马久久| 亚洲成人熟妇一区二区三区 | 狠狠的往里顶撞h百合| 97小视频人妻一区二区| 熟女在线视频一区二区三区| 天天日天天干天天搡| 国产女人被做到高潮免费视频 | 欧美日韩国产一区二区三区三州| 日本少妇精品免费视频| japanese日本熟妇另类| 99精品视频在线观看婷婷| 男生用鸡操女生视频动漫| 亚洲人妻30pwc| 人妻3p真实偷拍一二区| 免费男阳茎伸入女阳道视频| 国产女孩喷水在线观看| 18禁污污污app下载| 成人亚洲精品国产精品| 中文字幕免费在线免费| 亚洲一区制服丝袜美腿| 亚洲欧美精品综合图片小说| 风流唐伯虎电视剧在线观看| 91中文字幕最新合集| 成年女人免费播放视频| 11久久久久久久久久久| 欧美日韩国产一区二区三区三州| 国产熟妇一区二区三区av| 中文字幕在线免费第一页| 亚洲av黄色在线网站| 欧美一级色视频美日韩| 91免费放福利在线观看| 久草电影免费在线观看| 天天日天天干天天插舔舔| 97青青青手机在线视频| 国产欧美日韩在线观看不卡| 日韩影片一区二区三区不卡免费 | 天天日夜夜干天天操| 欧美国产亚洲中英文字幕| 日韩av大胆在线观看| 888欧美视频在线| 免费无码人妻日韩精品一区二区| 亚洲一区二区三区久久午夜| 99re国产在线精品| 在线国产日韩欧美视频| 色婷婷综合激情五月免费观看| 日本中文字幕一二区视频| 国产综合视频在线看片| 久久人人做人人妻人人玩精品vr | 最后99天全集在线观看| 涩涩的视频在线观看视频| 在线视频国产欧美日韩| 日韩特级黄片高清在线看| 国产乱弄免费视频观看| 在线观看av观看av| 午夜国产福利在线观看| 97精品综合久久在线| 亚洲精品乱码久久久久久密桃明| 一区二区三区av高清免费| 日韩av免费观看一区| 亚洲中文字幕乱码区| 婷婷色国产黑丝少妇勾搭AV| yy6080国产在线视频| 大陆精品一区二区三区久久| 久久这里只有精品热视频| 亚洲精品三级av在线免费观看| 3337p日本欧洲大胆色噜噜| 日本免费视频午夜福利视频| 97小视频人妻一区二区| 男女之间激情网午夜在线| 2020韩国午夜女主播在线| 做爰视频毛片下载蜜桃视频1| 成年人的在线免费视频| 成人色综合中文字幕| rct470中文字幕在线| 日韩成人性色生活片| 一区二区三区视频,福利一区二区| 国产九色91在线观看精品| 亚洲av无女神免非久久| 青娱乐蜜桃臀av色| 任我爽精品视频在线播放| 2025年人妻中文字幕乱码在线| 女同互舔一区二区三区| 色偷偷伊人大杳蕉综合网| 国产三级片久久久久久久| 在线观看国产免费麻豆| 淫秽激情视频免费观看| 青青草精品在线视频观看| weyvv5国产成人精品的视频| 中文 成人 在线 视频| 性欧美激情久久久久久久| av中文字幕在线导航| 18禁无翼鸟成人在线| 中文字幕 亚洲av| japanese五十路熟女熟妇| 爱爱免费在线观看视频| 国产精品视频男人的天堂| 日韩国产乱码中文字幕| 国产在线拍揄自揄视频网站| 好吊视频—区二区三区| 成人国产小视频在线观看| 五月天久久激情视频| 日韩特级黄片高清在线看| 欧美日韩人妻久久精品高清国产| 黑人性生活视频免费看| 三级av中文字幕在线观看| 在线观看黄色成年人网站| 中文字日产幕乱六区蜜桃| 欧美日韩激情啪啪啪| 国产精品黄片免费在线观看| 日韩人妻在线视频免费| 成人免费毛片aaaa| 亚洲美女高潮喷浆视频| 偷拍自拍亚洲视频在线观看| 大屁股熟女一区二区三区| 偷青青国产精品青青在线观看| 日韩美女综合中文字幕pp| 2022国产精品视频| 大尺度激情四射网站| 国产麻豆国语对白露脸剧情 | 97精品视频在线观看| 日韩美女精品视频在线观看网站 | 人妻少妇中文有码精品| xxx日本hd高清| 啊啊啊想要被插进去视频| 四川五十路熟女av| 亚洲欧美综合另类13p| 国产亚洲欧美视频网站| 中文字幕第一页国产在线| 91久久综合男人天堂| 摧残蹂躏av一二三区| 亚洲人妻视频在线网| 伊人日日日草夜夜草| 午夜av一区二区三区| 在线观看黄色成年人网站| 婷婷久久久综合中文字幕| 国产av自拍偷拍盛宴| 一区二区三区激情在线| 美味人妻2在线播放| 端庄人妻堕落挣扎沉沦| 欧美精产国品一二三产品区别大吗| 综合精品久久久久97| aaa久久久久久久久| 日本在线一区二区不卡视频| 国产又粗又猛又爽又黄的视频美国| 北条麻妃高跟丝袜啪啪| 又粗又长 明星操逼小视频| 国产福利小视频二区| 国产在线观看免费人成短视频| 日本少妇人妻xxxxx18| 80电影天堂网官网| 亚洲麻豆一区二区三区| 丝袜美腿视频诱惑亚洲无| 欧美精品亚洲精品日韩在线| 国产日本精品久久久久久久| 2020韩国午夜女主播在线| 天天操天天弄天天射| 中文字幕人妻三级在线观看| 日韩激情文学在线视频| 青青青青青青青青青国产精品视频 | 1区2区3区不卡视频| 成人av天堂丝袜在线观看| 国产精品自拍偷拍a| 一色桃子久久精品亚洲 | 亚洲成av人无码不卡影片一| 精品国产高潮中文字幕| 99精品国自产在线人| 免费在线福利小视频| 国产大鸡巴大鸡巴操小骚逼小骚逼| 中文字幕亚洲中文字幕| 香蕉91一区二区三区| 日本高清成人一区二区三区| 亚洲av自拍天堂网| 美女在线观看日本亚洲一区| 91国产资源在线视频| 91大神福利视频网| 激情五月婷婷综合色啪| 国产成人精品亚洲男人的天堂| 精内国产乱码久久久久久| 亚洲国产在线精品国偷产拍| 3D动漫精品啪啪一区二区下载| 天天爽夜夜爽人人爽QC| 国产乱弄免费视频观看| av新中文天堂在线网址| 熟女人妻在线观看视频| 亚洲精品久久综合久| 大尺度激情四射网站| 阴茎插到阴道里面的视频| av无限看熟女人妻另类av| 三上悠亚和黑人665番号| 精品人妻每日一部精品| 最新97国产在线视频| 青青草在观免费国产精品| 少妇一区二区三区久久久| 精品黑人巨大在线一区| 在线不卡日韩视频播放| 亚洲激情av一区二区| 天天干天天日天天谢综合156| 在线免费观看靠比视频的网站| 久久久久久国产精品| 77久久久久国产精产品| 成人精品视频99第一页| 日本韩国免费一区二区三区视频| 国产不卡av在线免费| 色97视频在线播放| av在线免费资源站| 欧美viboss性丰满| 亚洲国产精品黑丝美女| 1024久久国产精品| 亚洲第17页国产精品| 日韩av中文在线免费观看| 超碰在线中文字幕一区二区| 在线播放 日韩 av| 国产九色91在线视频| av老司机精品在线观看| 欧美精品激情在线最新观看视频| 午夜国产福利在线观看| 国产在线一区二区三区麻酥酥| 精品一区二区三区午夜| 蜜臀av久久久久蜜臀av麻豆| 亚洲成人激情av在线| 97精品综合久久在线| 亚洲精品中文字幕下载| 国产美女精品福利在线| 大香蕉伊人国产在线| 久久久久久久亚洲午夜综合福利| 久草极品美女视频在线观看| 日本熟妇喷水xxx| 色综合久久五月色婷婷综合| 久久久久久久一区二区三| 国产亚洲四十路五十路| 99精品视频在线观看婷婷| 一区二区三区在线视频福利| 中文字幕AV在线免费看 | av在线免费观看亚洲天堂| 欧美日韩情色在线观看| 青青草在观免费国产精品| heyzo蜜桃熟女人妻| av视网站在线观看| 孕妇奶水仑乱A级毛片免费看| 国产精品久久久久久久女人18| 日本高清撒尿pissing| 亚洲人妻av毛片在线| 亚洲精品久久综合久| 日韩三级黄色片网站| av乱码一区二区三区| 天天日天天干天天干天天日| 99精品视频在线观看免费播放 | 亚洲区美熟妇久久久久| 2022精品久久久久久中文字幕| av黄色成人在线观看| 国产片免费观看在线观看| 欧美一级色视频美日韩| aⅴ五十路av熟女中出| 最新91九色国产在线观看| 经典国语激情内射视频| 国产精品久久久久久久女人18| 日韩欧美一级黄片亚洲| 亚洲av色图18p| 精品国产亚洲av一淫| 五十路息与子猛烈交尾视频| 特级欧美插插插插插bbbbb| 国产成人精品一区在线观看| 91精品国产黑色丝袜| 干逼又爽又黄又免费的视频| 亚洲综合在线视频可播放| 国产成人一区二区三区电影网站| 51精品视频免费在线观看| 亚洲国产精品久久久久久6| 99精品免费观看视频| 老司机午夜精品视频资源| 四川五十路熟女av| 又粗又长 明星操逼小视频| 亚洲精品欧美日韩在线播放| 国产日韩一区二区在线看 | 天码人妻一区二区三区在线看| 大骚逼91抽插出水视频| 插逼视频双插洞国产操逼插洞| 2020国产在线不卡视频| 亚洲综合在线视频可播放| 日本又色又爽又黄又粗| www骚国产精品视频| 不戴胸罩引我诱的隔壁的人妻| 国产在线观看黄色视频| 欧美日韩亚洲国产无线码| 人人妻人人爽人人澡人人精品| 91精品国产观看免费| 亚洲狠狠婷婷综合久久app| 成人av天堂丝袜在线观看| 91麻豆精品传媒国产黄色片| 日韩a级精品一区二区| 在线观看国产免费麻豆| 国产在线拍揄自揄视频网站| 在线观看国产网站资源| 男人的网址你懂的亚洲欧洲av| 婷婷综合蜜桃av在线| 老司机免费视频网站在线看| 国产黄色高清资源在线免费观看| 欧美亚洲免费视频观看| 91九色porny国产蝌蚪视频| v888av在线观看视频| 最新欧美一二三视频 | 40道精品招牌菜特色| 国产片免费观看在线观看| av中文字幕在线观看第三页| av中文字幕在线导航| 特大黑人巨大xxxx| 日本少妇人妻xxxxx18| 中文字幕日韩精品日本| av在线免费中文字幕| 天天操天天干天天插| 操日韩美女视频在线免费看| 精品美女久久久久久| 黑人巨大精品欧美视频| 亚洲高清免费在线观看视频| 成人蜜臀午夜久久一区| 天天日天天透天天操| 大香蕉伊人中文字幕| 国产精品3p和黑人大战| 亚洲欧美综合另类13p| AV天堂一区二区免费试看| 香蕉片在线观看av| 韩国女主播精品视频网站| 99热这里只有国产精品6| 欧美精品国产综合久久| av中文字幕福利网| 亚洲av色香蕉一区二区三区| 97精品综合久久在线| 91综合久久亚洲综合| 成人sm视频在线观看| 国产日韩精品免费在线| 青青草亚洲国产精品视频| 女同互舔一区二区三区| 国产又粗又猛又爽又黄的视频在线| 一区二区三区精品日本| av在线资源中文字幕| 亚洲码av无色中文| 91精品国产高清自在线看香蕉网| 国产丰满熟女成人视频| 色吉吉影音天天干天天操| 五月色婷婷综合开心网4438| 姐姐的朋友2在线观看中文字幕| 人妻无码色噜噜狠狠狠狠色| 成人av免费不卡在线观看| 欧美成人黄片一区二区三区 | 99热久久这里只有精品8| 北条麻妃高跟丝袜啪啪| 欧美成人黄片一区二区三区| 日本美女性生活一级片| 久久精品美女免费视频| 一区二区久久成人网| 中文字幕高清在线免费播放| 在线观看黄色成年人网站| 深田咏美亚洲一区二区| 动漫美女的小穴视频| 91‖亚洲‖国产熟女| 99国内小视频在现欢看| 日韩二区视频一线天婷婷五| 国产一区二区视频观看| 在线观看av2025| 污污小视频91在线观看| 成人伊人精品色xxxx视频| 久久久制服丝袜中文字幕| 亚洲一区二区久久久人妻| 免费在线观看视频啪啪| 乱亲女秽乱长久久久| 9久在线视频只有精品| 不戴胸罩引我诱的隔壁的人妻| 亚洲成高清a人片在线观看| 亚洲av无硬久久精品蜜桃| 成年人免费看在线视频| 婷婷久久一区二区字幕网址你懂得| 色综合久久久久久久久中文| 狠狠鲁狠狠操天天晚上干干| 中字幕人妻熟女人妻a62v网| 51精品视频免费在线观看| 在线新三级黄伊人网| 99热99这里精品6国产| 中文字幕综合一区二区| 中文字幕欧美日韩射射一| 丰满的子国产在线观看| 老司机99精品视频在线观看| 天天色天天舔天天射天天爽| 天天干天天操天天插天天日| 天天日天天干天天要| 青青草原网站在线观看| 日本熟妇色熟妇在线观看| 中文字幕 人妻精品| 夜夜操,天天操,狠狠操| 亚洲成人熟妇一区二区三区| 亚洲精品高清自拍av | 精品美女福利在线观看| 特大黑人巨大xxxx| 黄片色呦呦视频免费看| 亚洲免费福利一区二区三区| 久草视频在线免播放| 国产午夜亚洲精品麻豆| 99国产精品窥熟女精品| 欧美男人大鸡吧插女人视频| 最新黄色av网站在线观看| 日韩美在线观看视频黄| 国产亚洲欧美另类在线观看| AV天堂一区二区免费试看| 老鸭窝日韩精品视频观看| 欧美一级视频一区二区| 少妇露脸深喉口爆吞精| 在线免费观看黄页视频| 国产av国片精品一区二区| huangse网站在线观看| 精品国产乱码一区二区三区乱| 人妻丰满熟妇综合网| av在线资源中文字幕| 91九色porny国产在线| 国产不卡av在线免费| 一区二区三区日本伦理| 伊人综合免费在线视频| 国产精品国产三级麻豆| 99热国产精品666| 精品国产在线手机在线| 小泽玛利亚视频在线观看| 久久久久久9999久久久久| 又大又湿又爽又紧A视频| 在线观看国产网站资源| 韩国爱爱视频中文字幕| 精品黑人一区二区三区久久国产| 亚洲一区二区久久久人妻| 久久这里有免费精品| 自拍偷拍,中文字幕| 大屁股肉感人妻中文字幕在线| 日本少妇高清视频xxxxx| 不卡一区一区三区在线| av天堂中文字幕最新| 中文字幕综合一区二区| 日噜噜噜夜夜噜噜噜天天噜噜噜| 在线免费91激情四射 | 91福利在线视频免费观看| 美日韩在线视频免费看| 色综合久久无码中文字幕波多| 久久精品亚洲成在人线a| 唐人色亚洲av嫩草| 久久久久久久久久性潮| 乱亲女秽乱长久久久| av日韩在线免费播放| 中文字幕午夜免费福利视频| 亚洲免费va在线播放| 国产亚洲精品视频合集| 亚洲精品一线二线在线观看| 中文字幕奴隷色的舞台50| 男人的天堂av日韩亚洲| 欧美日韩激情啪啪啪| 91成人在线观看免费视频| 日本少妇人妻xxxxx18| 人人妻人人人操人人人爽| 午夜久久久久久久精品熟女| 91国内精品久久久久精品一| 精品久久久久久久久久久久人妻| 免费看国产av网站| 日韩欧美一级aa大片| 丝袜国产专区在线观看| 国产久久久精品毛片| 天天日天天干天天干天天日| 91国产在线免费播放| 97欧洲一区二区精品免费| 天天日天天做天天日天天做| aiss午夜免费视频| 中文字幕人妻三级在线观看| 日本熟妇一区二区x x| 欧美aa一级一区三区四区| 中文字幕免费在线免费| 国产成人自拍视频播放| 丰满的子国产在线观看| 深田咏美亚洲一区二区| 日韩中文字幕福利av| 最新激情中文字幕视频| 亚洲精品午夜久久久久| 日韩精品二区一区久久| 男人操女人的逼免费视频| 福利视频网久久91| 国产精品久久9999| 一区二区三区四区中文| 九色精品视频在线播放| 亚洲一区二区三区av网站| 青青青aaaa免费| 国产白袜脚足J棉袜在线观看| 亚洲欧美另类手机在线| 91精品国产综合久久久蜜| 亚洲护士一区二区三区| 色吉吉影音天天干天天操| 国产成人精品av网站| 扒开腿挺进肉嫩小18禁视频| 成人18禁网站在线播放| 国产午夜福利av导航| 免费手机黄页网址大全| 精品老妇女久久9g国产| 日本一本午夜在线播放| 国产揄拍高清国内精品对白 | 精品国产乱码一区二区三区乱| 国产精品黄页网站视频| 国产1区,2区,3区| 亚洲欧美福利在线观看| avjpm亚洲伊人久久| 一区二区三区激情在线| 玩弄人妻熟妇性色av少妇| 人妻少妇性色欲欧美日韩| 日日夜夜精品一二三| 国产va在线观看精品| 成人区人妻精品一区二视频| 中文字幕乱码人妻电影| 亚洲va国产va欧美精品88| 久久久久久久99精品| 日韩北条麻妃一区在线| 欧美一区二区三区激情啪啪啪| 又黄又刺激的午夜小视频| 久草视频首页在线观看| 极品丝袜一区二区三区| 亚洲欧美自拍另类图片| 日韩精品激情在线观看| 一区二区三区美女毛片| 77久久久久国产精产品| 天干天天天色天天日天天射| 精品久久久久久久久久久a√国产| 亚洲欧美自拍另类图片| 午夜精品福利91av| 亚洲av人人澡人人爽人人爱| 亚洲va天堂va国产va久| 国产91嫩草久久成人在线视频| 大鸡巴操b视频在线| 国产亚洲欧美视频网站| 色秀欧美视频第一页| 视频一区二区三区高清在线| 午夜影院在线观看视频羞羞羞| xxx日本hd高清| 亚洲熟妇久久无码精品| 自拍偷拍日韩欧美一区二区| 伊人开心婷婷国产av| 国产成人一区二区三区电影网站| 天天摸天天亲天天舔天天操天天爽| 夜夜骑夜夜操夜夜奸| 韩国爱爱视频中文字幕| 亚洲一区久久免费视频| 在线观看亚洲人成免费网址| 亚洲天堂第一页中文字幕| 日韩亚国产欧美三级涩爱| 午夜精品久久久久久99热 | gay gay男男瑟瑟在线网站| 天天射夜夜操狠狠干| 啪啪啪18禁一区二区三区| 欧美精品伦理三区四区| 日韩一区二区电国产精品| 国产又大又黄免费观看| 一级A一级a爰片免费免会员| 日本免费视频午夜福利视频| 日本av在线一区二区三区| 亚洲欧美清纯唯美另类| 亚洲精品乱码久久久本| 最新91九色国产在线观看| 午夜毛片不卡免费观看视频| 亚洲一区制服丝袜美腿| 天天插天天色天天日| 日本av高清免费网站| 欧美va不卡视频在线观看| 五十路在线观看完整版| 国产美女精品福利在线| 国产精品视频一区在线播放| 亚洲Av无码国产综合色区| 视频久久久久久久人妻| 免费在线观看视频啪啪| 久久久久久性虐视频| 五十路息与子猛烈交尾视频 | 40道精品招牌菜特色| av天堂中文免费在线| 青青青青青青青青青青草青青| 一区二区三区 自拍偷拍| 99精品一区二区三区的区| 狠狠的往里顶撞h百合| 欧美精品黑人性xxxx| 天天日天天干天天搡| 啪啪啪啪啪啪啪啪啪啪黄色| 亚洲偷自拍高清视频| 女同久久精品秋霞网| 亚洲av一妻不如妾| 日韩写真福利视频在线观看| 国产精品中文av在线播放| 日本裸体熟妇区二区欧美| 狍和女人的王色毛片| 人妻3p真实偷拍一二区| 欧美另类重口味极品在线观看| 丰满的子国产在线观看| 伊人精品福利综合导航| 成人蜜臀午夜久久一区| 黄色男人的天堂视频| 91麻豆精品秘密入口在线观看| 国产在线免费观看成人| 欧美精品黑人性xxxx| 亚洲欧美另类手机在线| 亚洲第一黄色在线观看| 大陆av手机在线观看| 激情伦理欧美日韩中文字幕| 2019av在线视频| 亚洲老熟妇日本老妇| 97少妇精品在线观看| 午夜场射精嗯嗯啊啊视频| 一区二区三区另类在线| 午夜精品亚洲精品五月色| 精品国产高潮中文字幕| 一区二区熟女人妻视频| 国产亚州色婷婷久久99精品| 久久久久久久亚洲午夜综合福利| 黑人乱偷人妻中文字幕| 亚洲自拍偷拍综合色| 99re6热在线精品| 成人av中文字幕一区| 国产视频在线视频播放| 不卡一区一区三区在线| 国产福利在线视频一区| 精品国产乱码一区二区三区乱| 日本成人一区二区不卡免费在线| 熟女91pooyn熟女| 欧美xxx成人在线| 久久久久久cao我的性感人妻| 成人av久久精品一区二区| japanese日本熟妇另类| 超pen在线观看视频公开97| 亚洲欧美福利在线观看| 色综合天天综合网国产成人| 91免费观看国产免费| 在线观看av观看av| 国产精品黄大片在线播放| 最新日韩av传媒在线| 清纯美女在线观看国产| 99的爱精品免费视频| 亚洲综合在线视频可播放| 最新欧美一二三视频| 77久久久久国产精产品| 99精品国产免费久久| 福利一二三在线视频观看| 绝色少妇高潮3在线观看| 日本美女性生活一级片| 国产清纯美女al在线| 精品一区二区三区欧美| 韩国AV无码不卡在线播放| 午夜毛片不卡免费观看视频 | 国产久久久精品毛片| av视屏免费在线播放| 1024久久国产精品| 亚洲蜜臀av一区二区三区九色| 女人精品内射国产99| 中文字幕av一区在线观看| 中文字幕日韩91人妻在线| 精品成人午夜免费看| 国产午夜福利av导航| 黑人巨大精品欧美视频| 精品一区二区三四区| 青青青青青青青青青青草青青| 欧美精品免费aaaaaa| 男人操女人逼逼视频网站| www日韩毛片av| 在线视频精品你懂的| 99精品国产免费久久| 日本一区二区三区免费小视频| 538精品在线观看视频| 三上悠亚和黑人665番号| 老鸭窝日韩精品视频观看| 一区二区三区四区视频在线播放| 91亚洲手机在线视频播放| 熟女少妇激情五十路| 亚洲日本一区二区久久久精品| 日日日日日日日日夜夜夜夜夜夜| 99国内小视频在现欢看| 欧美日韩国产一区二区三区三州| 97资源人妻免费在线视频| 亚洲国产最大av综合| 欧美一区二区三区高清不卡tv | 在线免费观看黄页视频| 在线免费观看靠比视频的网站| 亚洲av无硬久久精品蜜桃| 5528327男人天堂| 加勒比视频在线免费观看| 精品黑人巨大在线一区| 5528327男人天堂| 丝袜长腿第一页在线| 亚洲av色图18p| 亚洲第一黄色在线观看| 日本阿v视频在线免费观看| 亚洲av第国产精品| 亚洲天堂成人在线观看视频网站| 亚洲区欧美区另类最新章节| 嫩草aⅴ一区二区三区| 91九色porny蝌蚪国产成人| 少妇高潮无套内谢麻豆| 精品视频中文字幕在线播放| 日本一二三中文字幕| 中文字幕在线第一页成人| 97国产福利小视频合集| 青青操免费日综合视频观看| 人妻丝袜诱惑我操她视频| 同居了嫂子在线播高清中文| 日本阿v视频在线免费观看| av完全免费在线观看av| 在线视频这里只有精品自拍| 日本韩国亚洲综合日韩欧美国产| 深田咏美亚洲一区二区| 成人av亚洲一区二区| 91精品综合久久久久3d动漫| 3344免费偷拍视频| 亚洲一级av无码一级久久精品| 欧美3p在线观看一区二区三区| 在线免费视频 自拍| 晚上一个人看操B片| 成人国产影院在线观看| 在线国产精品一区二区三区| 91欧美在线免费观看| 农村胖女人操逼视频| 人妻少妇一区二区三区蜜桃| 国产高清在线观看1区2区| 国产成人精品一区在线观看| 伊人日日日草夜夜草| 亚洲人妻视频在线网| 国产成人无码精品久久久电影| 51精品视频免费在线观看| 国产大鸡巴大鸡巴操小骚逼小骚逼| 欧美精品资源在线观看| 中文乱理伦片在线观看| 日曰摸日日碰夜夜爽歪歪| 亚洲精品乱码久久久本| 黄片大全在线观看观看| 久久www免费人成一看片| av天堂资源最新版在线看| 一区二区在线视频中文字幕| 99热国产精品666| 日韩欧美一级aa大片| 污污小视频91在线观看| 初美沙希中文字幕在线| 青青青青青青草国产| 激情伦理欧美日韩中文字幕| 国产女人叫床高潮大片视频| 亚洲国产精品黑丝美女| 粉嫩小穴流水视频在线观看| 非洲黑人一级特黄片| 天堂av狠狠操蜜桃| 偷偷玩弄新婚人妻h视频| 夜色撩人久久7777| 亚洲 国产 成人 在线| 五月精品丁香久久久久福利社| 在线免费观看99视频| 欧美精品黑人性xxxx| 偷偷玩弄新婚人妻h视频| 福利一二三在线视频观看 | 国产 在线 免费 精品| 日本熟妇丰满厨房55| 久久久久久久一区二区三| 亚洲av无硬久久精品蜜桃| 亚洲欧美国产麻豆综合| 人妻无码色噜噜狠狠狠狠色| 日韩精品啪啪视频一道免费| 中文字幕人妻熟女在线电影| 精品国产污污免费网站入口自| 69精品视频一区二区在线观看| av在线播放国产不卡| 93精品视频在线观看| 自拍偷拍日韩欧美亚洲| 任你操任你干精品在线视频| 在线免费观看国产精品黄色| 最新国产精品拍在线观看| 欧洲精品第一页欧洲精品亚洲| 亚洲美女高潮喷浆视频| 人人妻人人爱人人草| 一区二区三区国产精选在线播放| 免费观看理论片完整版| av天堂中文免费在线| 视频一区 视频二区 视频| 国产一级精品综合av| 热久久只有这里有精品| 97瑟瑟超碰在线香蕉| 粉嫩av蜜乳av蜜臀| 毛片av在线免费看| 亚洲国产中文字幕啊啊啊不行了| 亚洲精品亚洲人成在线导航| 国产在线拍揄自揄视频网站| 色综合色综合色综合色| rct470中文字幕在线| 岛国黄色大片在线观看| 亚洲欧美人精品高清| 91超碰青青中文字幕| 天天干天天插天天谢| asmr福利视频在线观看| 人人妻人人人操人人人爽| 女警官打开双腿沦为性奴| 99精品视频在线观看婷婷| 黄色成人在线中文字幕| 色av色婷婷人妻久久久精品高清| 日本高清撒尿pissing| 国产又粗又黄又硬又爽| 亚洲成人激情视频免费观看了| 丝袜国产专区在线观看| av男人天堂狠狠干| 日本最新一二三区不卡在线| 福利视频广场一区二区| jiuse91九色视频| 国产精品黄片免费在线观看| 天天日夜夜干天天操| 午夜福利资源综合激情午夜福利资 | 久久尻中国美女视频| 人妻激情图片视频小说| sw137 中文字幕 在线| 动漫精品视频在线观看| 91九色porny蝌蚪国产成人| 综合国产成人在线观看| 国产亚洲精品品视频在线| 精品suv一区二区69| 护士小嫩嫩又紧又爽20p| 91桃色成人网络在线观看| 偷拍美女一区二区三区| 亚洲少妇人妻无码精品| 抽查舔水白紧大视频| 日本在线不卡免费视频| 久草视频在线一区二区三区资源站 | 香蕉91一区二区三区| 欧美日韩国产一区二区三区三州| av在线免费中文字幕| 色爱av一区二区三区| 换爱交换乱高清大片| 成年人午夜黄片视频资源| 老师让我插进去69AV| 哥哥姐姐综合激情小说| 欧美aa一级一区三区四区| 欧美特色aaa大片| 绯色av蜜臀vs少妇| 国产精品污污污久久| 人妻少妇中文有码精品| 黄色片年轻人在线观看| 91国产资源在线视频| 国产一线二线三线的区别在哪| 春色激情网欧美成人| 日本人妻精品久久久久久| 成人精品视频99第一页| 日本韩国免费福利精品| 欧美viboss性丰满| 日本a级视频老女人| 在线免费观看欧美小视频| 日韩欧美制服诱惑一区在线| 欧洲精品第一页欧洲精品亚洲| 中文字幕人妻av在线观看| 狍和女人的王色毛片| 91chinese在线视频| 国产精品日韩欧美一区二区| 亚洲欧美福利在线观看| 国产伊人免费在线播放| 含骚鸡巴玩逼逼视频| 亚洲的电影一区二区三区| 成人影片高清在线观看| 亚洲免费福利一区二区三区| 国产久久久精品毛片| 热思思国产99re| 在线观看欧美黄片一区二区三区| 二区中出在线观看老师| 日本韩国免费一区二区三区视频| 亚洲综合图片20p| 大鸡巴插入美女黑黑的阴毛| 91九色porny国产蝌蚪视频| 亚洲精品成人网久久久久久小说| av在线免费观看亚洲天堂| 中英文字幕av一区| 亚洲精品久久综合久| 日本在线一区二区不卡视频| 国产成人一区二区三区电影网站| 国产乱子伦精品视频潮优女| 一区二区三区日本伦理| 麻豆性色视频在线观看| 欧美久久一区二区伊人| 少妇与子乱在线观看| 香蕉av影视在线观看| 色在线观看视频免费的| 一区二区视频视频视频| 国产欧美精品一区二区高清 | 天天日天天干天天插舔舔| 午夜蜜桃一区二区三区| 青青青青在线视频免费观看| 欧美日韩国产一区二区三区三州| 国产九色91在线视频| 欧美一级视频一区二区| 91欧美在线免费观看| 青青伊人一精品视频| 亚洲欧洲av天堂综合| 少妇被强干到高潮视频在线观看| 日本av在线一区二区三区| 国产精品自偷自拍啪啪啪| 91精品国产高清自在线看香蕉网| 伊人精品福利综合导航| 亚洲精品久久视频婷婷| 国产三级影院在线观看| 中国把吊插入阴蒂的视频| 日本成人一区二区不卡免费在线| 操的小逼流水的文章| 任你操任你干精品在线视频| 中文字幕无码日韩专区免费| 99久久成人日韩欧美精品| 国产午夜福利av导航| 男人的天堂av日韩亚洲| 一区二区麻豆传媒黄片| 老司机福利精品免费视频一区二区 | 一个人免费在线观看ww视频| 污污小视频91在线观看| 黄色成年网站午夜在线观看 | 不卡精品视频在线观看| 成年人午夜黄片视频资源| 人妻无码中文字幕专区| 日本人妻精品久久久久久| 在线观看黄色成年人网站| 熟女视频一区,二区,三区| 中文字幕av第1页中文字幕| 国内自拍第一页在线观看| 综合国产成人在线观看| 男人天堂最新地址av| 欧美80老妇人性视频| 在线观看911精品国产| 国产精品久久久久久久久福交| 青青草精品在线视频观看| 快插进小逼里大鸡吧视频| 日本女人一级免费片| 久久精品国产亚洲精品166m| 深田咏美亚洲一区二区| 精品高潮呻吟久久av| 中文字幕亚洲久久久| 男女啪啪视频免费在线观看 | 专门看国产熟妇的网站| 大鸡吧插入女阴道黄色片| 狠狠嗨日韩综合久久| 日本裸体熟妇区二区欧美| 小穴多水久久精品免费看| 日本熟妇色熟妇在线观看| 国产久久久精品毛片| 黄色男人的天堂视频| 亚洲熟妇无码一区二区三区| 精品老妇女久久9g国产| 亚洲激情偷拍一区二区| 国产麻豆剧果冻传媒app| 人妻久久无码中文成人| 日韩精品一区二区三区在线播放| okirakuhuhu在线观看| 欧美成人猛片aaaaaaa| 日本少妇的秘密免费视频| 在线免费观看日本片| 欧美一区二区中文字幕电影| 国内自拍第一页在线观看| 亚洲粉嫩av一区二区三区| 国内自拍第一页在线观看| 日韩一区二区三区三州| 在线观看免费视频网| 成人av中文字幕一区| 天天夜天天日天天日| 精品av国产一区二区三区四区| 2012中文字幕在线高清| 天天操天天干天天日狠狠插| 97精品视频在线观看| 人人妻人人爽人人添夜| 日本一二三区不卡无| 美女日逼视频免费观看| 美女被肏内射视频网站| 92福利视频午夜1000看| 国产成人精品av网站| 日韩欧美国产精品91| 狠狠操狠狠操免费视频| 国产日韩av一区二区在线| 精品久久久久久高潮| 日本人竟这样玩学生妹| 97超碰免费在线视频| 动色av一区二区三区| 午夜精品福利一区二区三区p | 日本人竟这样玩学生妹| 在线 中文字幕 一区| 欧美 亚洲 另类综合| 日韩a级黄色小视频| 在线观看视频污一区| 中文字幕无码日韩专区免费| 真实国模和老外性视频| 精品视频国产在线观看| 亚洲的电影一区二区三区 | 快插进小逼里大鸡吧视频| 91免费放福利在线观看| 中文字幕无码一区二区免费| aⅴ五十路av熟女中出| 在线免费观看黄页视频| 亚洲天堂第一页中文字幕| 91色网站免费在线观看| 看一级特黄a大片日本片黑人| 亚洲欧美国产麻豆综合| 丰满熟女午夜福利视频| 欧美亚洲偷拍自拍色图| 噜噜色噜噜噜久色超碰| 色哟哟国产精品入口| 欧美一区二区三区乱码在线播放| 亚洲精品三级av在线免费观看| 日本精品一区二区三区在线视频。 | av中文字幕电影在线看| 狠狠躁狠狠爱网站视频 | 青青草国内在线视频精选| 亚洲国产成人最新资源| 99精品国产aⅴ在线观看 | xxx日本hd高清| 精品国产在线手机在线| 成人亚洲国产综合精品| 肏插流水妹子在线乐播下载| 黄色三级网站免费下载| 绝顶痉挛大潮喷高潮无码| 久久久久久国产精品| 久草视频 久草视频2| 成人色综合中文字幕| 黄色视频成年人免费观看| 欧美交性又色又爽又黄麻豆| av中文字幕国产在线观看| 亚洲另类综合一区小说| 含骚鸡巴玩逼逼视频| 亚洲精品乱码久久久本| 91破解版永久免费| 色综合天天综合网国产成人 | 青青擦在线视频国产在线| 欧美视频一区免费在线| 2018在线福利视频| 亚洲精品国产久久久久久| 99久久中文字幕一本人| 久青青草视频手机在线免费观看| 免费成人va在线观看| 中文字幕在线一区精品| 偷拍自拍亚洲美腿丝袜| 51国产成人精品视频| 9色在线视频免费观看| 亚洲伊人色一综合网| 国产亚洲国产av网站在线| 99精品免费观看视频| 国产视频网站一区二区三区| 久草视频中文字幕在线观看| 北条麻妃肉色丝袜视频| 后入美女人妻高清在线| 久久精品亚洲国产av香蕉| 日日操综合成人av| 视频一区二区在线免费播放| 国产剧情演绎系列丝袜高跟| 亚洲av黄色在线网站| 91高清成人在线视频| 日韩av中文在线免费观看| 在线观看视频 你懂的| 区一区二区三国产中文字幕| 在线观看免费岛国av| 国产精品久久久黄网站| 91色九色porny| 日本免费一级黄色录像| 欧美亚洲国产成人免费在线| 青娱乐最新视频在线| 青青青青在线视频免费观看| 蜜桃精品久久久一区二区| 免费av岛国天堂网站| 中文字幕 码 在线视频| 最新91九色国产在线观看| 午夜精品久久久久久99热| 美女操逼免费短视频下载链接| 国产1区,2区,3区| 国产自拍黄片在线观看| 97人妻总资源视频| 国产日韩一区二区在线看| 黄页网视频在线免费观看| 亚洲精品三级av在线免费观看| 午夜福利人人妻人人澡人人爽| 亚洲欧美成人综合在线观看| 青草青永久在线视频18| 青娱乐在线免费视频盛宴 | 精品欧美一区二区vr在线观看| av天堂加勒比在线| 国产三级片久久久久久久| 天码人妻一区二区三区在线看| 国产中文字幕四区在线观看| 在线观看的黄色免费网站| 亚洲午夜精品小视频| 玩弄人妻熟妇性色av少妇| av亚洲中文天堂字幕网| 日美女屁股黄邑视频| 十八禁在线观看地址免费| 欧美一级色视频美日韩| 中文字幕网站你懂的| 亚洲成人黄色一区二区三区| 在线观看欧美黄片一区二区三区| 人妻少妇中文有码精品| 亚洲推理片免费看网站| 粗大的内捧猛烈进出爽大牛汉子| 国产精品人妻一区二区三区网站| 亚洲欧美国产综合777| av老司机亚洲一区二区| 久草视频在线看免费| 人妻无码色噜噜狠狠狠狠色| 美女福利视频网址导航| 精品美女在线观看视频在线观看| 超级碰碰在线视频免费观看| 91国产在线免费播放| 丰满的继坶3中文在线观看| 粉嫩av懂色av蜜臀av| 亚洲一区二区久久久人妻| 啪啪啪啪啪啪啪啪啪啪黄色| 亚洲中文字幕综合小综合| 一级a看免费观看网站| 中国老熟女偷拍第一页| 精品黑人一区二区三区久久国产| 亚洲激情偷拍一区二区| 欧美黑人巨大性xxxxx猛交| av破解版在线观看| 天天日夜夜操天天摸| 国产极品美女久久久久久| 欧美视频不卡一区四区| 亚洲av无硬久久精品蜜桃| 欧美va不卡视频在线观看| 77久久久久国产精产品| 操操网操操伊剧情片中文字幕网| 超碰中文字幕免费观看| 色狠狠av线不卡香蕉一区二区| av手机免费在线观看高潮| 欧美精品免费aaaaaa| 亚洲va国产va欧美精品88| 亚洲第17页国产精品| 天天日天天添天天爽| 国产清纯美女al在线| 亚洲视频乱码在线观看| 国产高清精品一区二区三区| 水蜜桃一区二区三区在线观看视频| 熟女在线视频一区二区三区| 亚洲精品高清自拍av | 精品久久久久久久久久中文蒉| 91麻豆精品传媒国产黄色片| 播放日本一区二区三区电影| 2022天天干天天操| 精品视频国产在线观看| 国产精品视频一区在线播放| 国产精彩对白一区二区三区 | av老司机精品在线观看| 国产亚洲视频在线二区| 男人操女人逼逼视频网站| 中文字幕高清在线免费播放| www日韩a级s片av| 福利国产视频在线观看| 激情人妻校园春色亚洲欧美| 亚洲国产成人av在线一区| 国产日韩一区二区在线看 | 一区二区三区四区中文| 国产精品自拍偷拍a| 亚洲国产在人线放午夜| 国产性色生活片毛片春晓精品 | 久碰精品少妇中文字幕av| 亚洲精品精品国产综合| 免费观看国产综合视频| 动漫精品视频在线观看| 91国内精品自线在拍白富美| 91色老99久久九九爱精品| 91中文字幕最新合集| 真实国产乱子伦一区二区| 亚洲欧美精品综合图片小说| 成年人黄视频在线观看| 欧美一区二区三区激情啪啪啪| 超级av免费观看一区二区三区| 婷婷综合亚洲爱久久| 国产精品视频一区在线播放| 亚洲1卡2卡三卡4卡在线观看| 最新中文字幕免费视频| 国产成人午夜精品福利| 欧美成人精品在线观看| 91麻豆精品传媒国产黄色片| 欧美一级片免费在线成人观看| 免费国产性生活视频| 亚洲精品午夜aaa久久| 2021最新热播中文字幕| 夜色17s精品人妻熟女| 亚洲一区二区三区精品视频在线 | 男生舔女生逼逼视频| 婷婷久久久综合中文字幕| 国产 在线 免费 精品| 黄色片一级美女黄色片| 涩爱综合久久五月蜜臀| 3337p日本欧洲大胆色噜噜| 午夜大尺度无码福利视频| 热久久只有这里有精品| 亚洲综合在线视频可播放| 欧美精品黑人性xxxx| 久久久久久久久久久免费女人| 少妇人妻100系列| 国产精品成久久久久三级蜜臀av | 欧美香蕉人妻精品一区二区| 在线观看视频一区麻豆| 91 亚洲视频在线观看| 伊拉克及约旦宣布关闭领空| 亚洲成人av在线一区二区| av老司机精品在线观看| 在线观看av2025| 欧美精品黑人性xxxx| 农村胖女人操逼视频| 岛国黄色大片在线观看| 国产白嫩美女一区二区| 欧美一区二区三区高清不卡tv| 五十路人妻熟女av一区二区| 日韩av熟妇在线观看| 国产精品久久9999| 在线观看免费视频网| 久久久久五月天丁香社区| 成人av亚洲一区二区| 国产欧美精品一区二区高清 | 久青青草视频手机在线免费观看| 亚洲免费成人a v| 一个色综合男人天堂| 中国黄色av一级片| 55夜色66夜色国产精品站| 日韩在线视频观看有码在线| 91天堂天天日天天操| 色哟哟在线网站入口| 欧美地区一二三专区| 国产清纯美女al在线| 中文字幕高清在线免费播放| 中文字幕日韩无敌亚洲精品 | 婷婷久久久久深爱网| 中文字幕在线视频一区二区三区| 亚洲 图片 欧美 图片| 亚洲国产欧美一区二区三区久久| 爱有来生高清在线中文字幕| 天天操天天干天天插| 一区二区三区国产精选在线播放| 亚洲成人黄色一区二区三区| 熟女少妇激情五十路| 亚洲精品在线资源站| 91高清成人在线视频| 成年午夜免费无码区| 男人的天堂在线黄色| 亚洲码av无色中文| 在线观看成人国产电影| 欧美偷拍自拍色图片| 国产精品中文av在线播放| 午夜毛片不卡在线看| 亚洲高清国产自产av| 青青青视频手机在线观看| 中文字幕av一区在线观看| 亚洲高清国产自产av| 亚洲成人av一区久久| 午夜免费体验区在线观看| 亚洲一区制服丝袜美腿| 天天日天天添天天爽| 国产丰满熟女成人视频| 国产精品入口麻豆啊啊啊| 福利午夜视频在线观看| 成人av亚洲一区二区| 亚洲国产成人在线一区| 亚洲视频在线观看高清| 97精品视频在线观看| 国产精品中文av在线播放| 午夜福利资源综合激情午夜福利资| 国产又粗又猛又爽又黄的视频在线| 天天干天天搞天天摸| 亚洲av成人免费网站| 成年人免费看在线视频| 伊人综合免费在线视频| 插小穴高清无码中文字幕| 日本女大学生的黄色小视频| 亚洲国产成人av在线一区| 99热久久极品热亚洲| 九色精品视频在线播放| 免费看美女脱光衣服的视频| 国产精品亚洲在线观看| 超级碰碰在线视频免费观看| 亚洲护士一区二区三区| 久久久精品精品视频视频| 青青青艹视频在线观看| 婷婷色中文亚洲网68| 国产亚洲精品视频合集| 97青青青手机在线视频| 午夜在线观看一区视频| 99精品视频之69精品视频| 伊人情人综合成人久久网小说| 99国内小视频在现欢看| 久草福利电影在线观看| 综合页自拍视频在线播放| av森泽佳奈在线观看 | 久久久久久九九99精品| 国产一区二区三免费视频| 人人爱人人妻人人澡39| 蝴蝶伊人久久中文娱乐网| 密臀av一区在线观看| 开心 色 六月 婷婷| 性欧美日本大妈母与子| 亚洲中文字幕综合小综合| 久久久精品欧洲亚洲av| 亚洲va天堂va国产va久| 后入美女人妻高清在线| 特级欧美插插插插插bbbbb| 亚洲熟妇x久久av久久| 任你操任你干精品在线视频| 天天躁日日躁狠狠躁av麻豆| 女生自摸在线观看一区二区三区| 夜鲁夜鲁狠鲁天天在线| 99国内小视频在现欢看| 中出中文字幕在线观看 | 中国熟女@视频91| 自拍偷拍,中文字幕| 国产免费高清视频视频| 精品人妻每日一部精品| 中文字幕奴隷色的舞台50| 天天日天天爽天天爽| www,久久久,com| 日韩在线中文字幕色| 18禁美女羞羞免费网站| 国产精品伦理片一区二区| 免费国产性生活视频| 中文字幕在线乱码一区二区| 中文字幕熟女人妻久久久| 亚洲Av无码国产综合色区| 啪啪啪18禁一区二区三区| 激情小视频国产在线| 中文字幕在线欧美精品| 38av一区二区三区| 91九色porny国产蝌蚪视频| 女同久久精品秋霞网| 亚洲无码一区在线影院| AV天堂一区二区免费试看| 午夜场射精嗯嗯啊啊视频| 91国产在线视频免费观看| 欧美视频综合第一页| 蜜臀成人av在线播放| av一区二区三区人妻| 日本在线一区二区不卡视频| 青青草人人妻人人妻| 综合页自拍视频在线播放| 欧美一级色视频美日韩| 黄色无码鸡吧操逼视频| 亚洲一区av中文字幕在线观看| 日韩在线视频观看有码在线| 夜色17s精品人妻熟女| 78色精品一区二区三区| 91大神福利视频网| 国产一区二区三免费视频| 女同性ⅹxx女同h偷拍| 天天综合天天综合天天网| 天天日天天摸天天爱| 青青草成人福利电影| 传媒在线播放国产精品一区| 精品亚洲中文字幕av| 91九色porny国产蝌蚪视频| 天天日天天日天天擦| 久久三久久三久久三久久| 中文字幕一区的人妻欧美日韩| 日本人妻欲求不满中文字幕| 中文字幕av男人天堂| 中文字幕av第1页中文字幕| 国产在线拍揄自揄视频网站| 欧美熟妇一区二区三区仙踪林| 亚洲日产av一区二区在线| 青青草人人妻人人妻| 伊拉克及约旦宣布关闭领空| 亚洲 中文字幕在线 日韩| 欧美性感尤物人妻在线免费看| 97成人免费在线观看网站| 韩国男女黄色在线观看| 人人爱人人妻人人澡39| 青青伊人一精品视频| 视频 国产 精品 熟女 | 日韩av免费观看一区| 亚洲人妻国产精品综合| 青青操免费日综合视频观看| 欧美专区第八页一区在线播放| 欧美专区日韩专区国产专区| 亚洲丝袜老师诱惑在线观看| 一级黄片大鸡巴插入美女| 成人24小时免费视频| 4个黑人操素人视频网站精品91| 亚洲免费国产在线日韩| 激情小视频国产在线| 初美沙希中文字幕在线| 精品视频国产在线观看| 久草视频 久草视频2| 色哟哟在线网站入口| 福利午夜视频在线合集| 成人影片高清在线观看| 天天操天天插天天色| 美女骚逼日出水来了| av乱码一区二区三区| 1区2区3区4区视频在线观看| 日韩精品电影亚洲一区| 久久久久久久久久久久久97| 日本五十路熟新垣里子| 一区二区视频在线观看免费观看| 五十路息与子猛烈交尾视频 | 国产欧美精品一区二区高清 | 亚洲av午夜免费观看| 91成人精品亚洲国产| 日本免费视频午夜福利视频| av在线免费观看亚洲天堂| 亚洲国产精品黑丝美女| 91国产在线视频免费观看| av俺也去在线播放| 欧美视频综合第一页| 97国产在线观看高清| 成人蜜桃美臀九一一区二区三区| 操操网操操伊剧情片中文字幕网| 亚洲变态另类色图天堂网| 综合国产成人在线观看| 亚洲欧美成人综合在线观看| 青青青视频手机在线观看| 欧美日本在线视频一区| 中文字幕第三十八页久久| 91精品资源免费观看| 亚洲一级美女啪啪啪| 懂色av蜜桃a v| 久草视频在线免播放| 大肉大捧一进一出好爽在线视频| 亚洲成人情色电影在线观看| 亚洲美女美妇久久字幕组| 丰满的继坶3中文在线观看| 中文字幕奴隷色的舞台50| 98视频精品在线观看| 又色又爽又黄又刺激av网站| 黑人大几巴狂插日本少妇| 中文字幕午夜免费福利视频| av在线免费中文字幕| 中文字幕在线乱码一区二区| 成人伊人精品色xxxx视频| 91大神福利视频网| 一区二区三区日韩久久| 在线观看911精品国产| 欧美精品免费aaaaaa| 欧美80老妇人性视频| 丝袜肉丝一区二区三区四区在线 | 国产精品伦理片一区二区| 中国产一级黄片免费视频播放| 在线观看成人国产电影| 黄色的网站在线免费看| 久久久久久久一区二区三 | 欧美在线偷拍视频免费看| 97国产福利小视频合集| 国产精选一区在线播放| 中文字幕在线乱码一区二区| 国产激情av网站在线观看| 亚洲精品精品国产综合| 国产自拍在线观看成人| 日本脱亚入欧是指什么| 五十路丰满人妻熟妇| 亚洲av无乱一区二区三区性色| 日本美女成人在线视频| 精品久久久久久久久久久a√国产| 91国产资源在线视频| 午夜精品福利一区二区三区p| 欧美女同性恋免费a| 人人人妻人人澡人人| 在线 中文字幕 一区| 国产精品午夜国产小视频| 成人国产小视频在线观看| 亚洲男人让女人爽的视频| 绝顶痉挛大潮喷高潮无码| 大屁股熟女一区二区三区| 18禁美女羞羞免费网站| 亚洲欧美综合另类13p| 色噜噜噜噜18禁止观看| 欧美亚洲牲夜夜综合久久| av完全免费在线观看av| 国产精品人妻一区二区三区网站| 午夜极品美女福利视频| 硬鸡巴动态操女人逼视频| 亚洲麻豆一区二区三区| 亚洲成人熟妇一区二区三区| 精品一线二线三线日本| 日本福利午夜电影在线观看| 日本高清成人一区二区三区| 98视频精品在线观看| 中文字幕人妻av在线观看| 青青青青爽手机在线| 2020久久躁狠狠躁夜夜躁 | 女警官打开双腿沦为性奴| 一区二区视频视频视频| 在线观看免费av网址大全| 天天爽夜夜爽人人爽QC| 亚洲一区二区三区精品乱码| 亚洲一区二区激情在线| 偷拍美女一区二区三区| 操操网操操伊剧情片中文字幕网| caoporm超碰国产| 国产麻豆国语对白露脸剧情| 91快播视频在线观看| 女生自摸在线观看一区二区三区| 在线国产中文字幕视频| 蜜桃视频在线欧美一区| 欧美精产国品一二三区| 亚洲综合图片20p| 天天操天天射天天操天天天| 久久久极品久久蜜桃| 韩国爱爱视频中文字幕| 97青青青手机在线视频| xxx日本hd高清| 精品一区二区三区欧美| 欧美一级视频一区二区| 97瑟瑟超碰在线香蕉| 国产精品人久久久久久| 美女张开腿让男生操在线看| 在线免费观看日本片| 亚洲成人线上免费视频观看| 亚洲综合图片20p| 国产91久久精品一区二区字幕| 国产97视频在线精品| 婷婷综合蜜桃av在线| 日本性感美女视频网站| 欧美日韩人妻久久精品高清国产| 成人蜜臀午夜久久一区| av一本二本在线观看| 男女啪啪视频免费在线观看| 91福利视频免费在线观看| 男女啪啪啪啪啪的网站| 亚洲av色香蕉一区二区三区| 天堂v男人视频在线观看| 中文字幕av一区在线观看| 午夜福利资源综合激情午夜福利资| 日本少妇人妻xxxxxhd| 天天射夜夜操狠狠干| 亚洲成人精品女人久久久| 国产又粗又猛又爽又黄的视频在线| 亚洲最大免费在线观看| 九色精品视频在线播放| www骚国产精品视频| 在线免费观看国产精品黄色| gogo国模私拍视频| 天天日夜夜干天天操| 沙月文乃人妻侵犯中文字幕在线 | 91人妻精品久久久久久久网站| 福利视频网久久91| 日本一二三中文字幕| 国产熟妇人妻ⅹxxxx麻豆| 亚洲av香蕉一区区二区三区犇| 91中文字幕免费在线观看| 最近中文2019年在线看| 日本美女性生活一级片| 亚洲男人在线天堂网| 自拍偷拍vs一区二区三区| 天美传媒mv视频在线观看| 摧残蹂躏av一二三区| 真实国模和老外性视频| 日本www中文字幕| 中英文字幕av一区| 黑人巨大的吊bdsm| 精品一区二区三区三区色爱| 国产欧美精品一区二区高清| 好了av中文字幕在线| 又黄又刺激的午夜小视频| 欧美伊人久久大香线蕉综合| 亚洲欧美激情中文字幕| 亚洲成人av一区久久| 护士特殊服务久久久久久久| 成人av电影免费版| 午夜场射精嗯嗯啊啊视频| 男人的天堂av日韩亚洲| 亚洲av日韩av网站| 老熟妇xxxhd老熟女| 日本高清成人一区二区三区| 天天日天天干天天舔天天射| 男女第一次视频在线观看| 亚洲va国产va欧美va在线| 秋霞午夜av福利经典影视| 国产黑丝高跟鞋视频在线播放| 夜夜骑夜夜操夜夜奸| 国产精品自拍在线视频| 强行扒开双腿猛烈进入免费版| 一区二区免费高清黄色视频| 日韩伦理短片在线观看| 欧美黄片精彩在线免费观看| 午夜美女少妇福利视频| 在线成人日韩av电影| 蜜桃色婷婷久久久福利在线| 免费黄高清无码国产| 中文字幕日本人妻中出| 成年人黄视频在线观看| 在线观看av2025| 成人30分钟免费视频| 少妇被强干到高潮视频在线观看 | 天天干天天操天天爽天天摸| 青青青青操在线观看免费| 99热这里只有国产精品6| 一级黄色片夫妻性生活| AV天堂一区二区免费试看| 久久精品在线观看一区二区| 在线免费观看视频一二区| 国产欧美精品一区二区高清 | 免费成人av中文字幕| 中文字日产幕乱六区蜜桃| 欧美亚洲少妇福利视频| 欧美一区二区三区四区性视频| 丰满少妇翘臀后进式| chinese国产盗摄一区二区| 日韩欧美一级精品在线观看| 日韩亚洲高清在线观看| 亚洲区欧美区另类最新章节| 春色激情网欧美成人| 国产精品黄页网站视频| 天天干天天操天天插天天日| 日韩精品电影亚洲一区| aⅴ精产国品一二三产品| 天天操,天天干,天天射| 中文字幕在线观看极品视频| 黑人进入丰满少妇视频| 日本又色又爽又黄又粗| 美日韩在线视频免费看| 国语对白xxxx乱大交| 九一传媒制片厂视频在线免费观看| 美日韩在线视频免费看| 精品人人人妻人人玩日产欧| 亚洲国产香蕉视频在线播放| 天堂va蜜桃一区入口| 老有所依在线观看完整版| 日韩午夜福利精品试看| 视频在线亚洲一区二区| 在线不卡成人黄色精品| 玩弄人妻熟妇性色av少妇| 日韩国产乱码中文字幕| 国产美女精品福利在线| 日本一区二区三区免费小视频| 亚洲1区2区3区精华液| 任你操任你干精品在线视频| 国产janese在线播放| 超鹏97历史在线观看| 老有所依在线观看完整版| 欧美成人小视频在线免费看| 激情五月婷婷综合色啪| 亚洲国产精品免费在线观看| 啪啪啪啪啪啪啪啪av| 亚洲免费成人a v| 亚洲激情唯美亚洲激情图片| 国产精品一区二区三区蜜臀av| 国产一区二区久久久裸臀| 天天干夜夜操天天舔| 91人妻精品久久久久久久网站 | 丰满少妇翘臀后进式| 亚洲国产40页第21页| 中文人妻AV久久人妻水| 成人国产激情自拍三区| 2012中文字幕在线高清| 中文字幕免费福利视频6| 玩弄人妻熟妇性色av少妇| 77久久久久国产精产品| 最新国产精品拍在线观看| 91精品国产麻豆国产| 抽查舔水白紧大视频| av男人天堂狠狠干| 男女第一次视频在线观看| 亚洲中文字幕人妻一区| 日本熟妇丰满厨房55| 日本精品一区二区三区在线视频。| 日韩欧美亚洲熟女人妻| 人妻少妇亚洲一区二区| av中文字幕电影在线看| 午夜在线精品偷拍一区二| 国产一区二区久久久裸臀| avjpm亚洲伊人久久| 久久精品久久精品亚洲人| 亚洲 中文字幕在线 日韩| 国产卡一卡二卡三乱码手机| 国产黄色高清资源在线免费观看| 五月天久久激情视频| 福利在线视频网址导航| 精品一线二线三线日本| 国产激情av网站在线观看| 少妇一区二区三区久久久| av一本二本在线观看| 亚洲 国产 成人 在线| 高清成人av一区三区| 久久精品国产亚洲精品166m| 视频 国产 精品 熟女 | 中文字幕av第1页中文字幕| 少妇高潮一区二区三区| 婷婷五月亚洲综合在线| 国产熟妇乱妇熟色T区| 中出中文字幕在线观看| 欧美一级片免费在线成人观看 | 亚洲国产美女一区二区三区软件 | 成人性黑人一级av| 亚洲在线观看中文字幕av| 人人爱人人妻人人澡39| 亚洲国产在人线放午夜| 婷婷色国产黑丝少妇勾搭AV| 日本熟妇一区二区x x| 98视频精品在线观看| 久久久久只精品国产三级| 91精品国产观看免费| AV天堂一区二区免费试看| 99久久超碰人妻国产| 边摸边做超爽毛片18禁色戒| 自拍偷拍一区二区三区图片| 91啪国自产中文字幕在线| 91精品免费久久久久久| 天天艹天天干天天操| 沙月文乃人妻侵犯中文字幕在线| 偷拍美女一区二区三区| 日本成人一区二区不卡免费在线| 国产精品人妻66p| 国产成人精品av网站| 国产综合高清在线观看| 国产亚洲四十路五十路| 19一区二区三区在线播放| 真实国模和老外性视频| 青青青国产片免费观看视频| 色狠狠av线不卡香蕉一区二区| okirakuhuhu在线观看| 国产女人被做到高潮免费视频| 噜噜色噜噜噜久色超碰| 最新91精品视频在线| 婷婷久久久综合中文字幕| 老司机欧美视频在线看| 动色av一区二区三区| 91综合久久亚洲综合| 1024久久国产精品| 国产在线自在拍91国语自产精品| 成年人黄色片免费网站| 亚洲精品精品国产综合| gav成人免费播放| 强行扒开双腿猛烈进入免费版| 99亚洲美女一区二区三区| 国产精品3p和黑人大战| 日本一二三中文字幕| 人妻凌辱欧美丰满熟妇| 91高清成人在线视频| 中文字幕成人日韩欧美| 国产成人自拍视频播放| 亚洲成人国产综合一区| 亚洲丝袜老师诱惑在线观看| 中字幕人妻熟女人妻a62v网| 97超碰国语国产97超碰| av中文字幕电影在线看| 97少妇精品在线观看| 久久国产精品精品美女| 91大神福利视频网| 中国黄片视频一区91| 欧美专区第八页一区在线播放| 欧美国产亚洲中英文字幕| yy96视频在线观看| 亚洲精品精品国产综合| 成人蜜桃美臀九一一区二区三区| 婷婷色中文亚洲网68| 热思思国产99re| 51国产成人精品视频| 在线免费观看靠比视频的网站| 无忧传媒在线观看视频| 欧美亚洲国产成人免费在线| 一区二区三区在线视频福利| 亚洲欧美色一区二区| 亚洲女人的天堂av| 日韩特级黄片高清在线看| 欧美在线精品一区二区三区视频 | av在线免费观看亚洲天堂| 熟女俱乐部一二三区| 亚洲av男人的天堂你懂的| 日本精品美女在线观看| 黄色的网站在线免费看| 香港一级特黄大片在线播放| 丝袜肉丝一区二区三区四区在线| 93视频一区二区三区| 亚洲一区自拍高清免费视频| av手机免费在线观看高潮| 色综合天天综合网国产成人| 久久这里有免费精品| 免费看美女脱光衣服的视频| 中文字幕在线观看极品视频| 中文字幕中文字幕 亚洲国产| 亚洲成高清a人片在线观看| 91‖亚洲‖国产熟女| 97a片免费在线观看| 蝴蝶伊人久久中文娱乐网| 丝袜肉丝一区二区三区四区在线 | 自拍 日韩 欧美激情| 亚洲天堂有码中文字幕视频| 中文字幕第1页av一天堂网| 中文字幕av第1页中文字幕| 日韩一个色综合导航| 国产成人一区二区三区电影网站 | av中文字幕福利网| 岛国青草视频在线观看| 欧美综合婷婷欧美综合| 中文字幕在线一区精品| 国产黄色大片在线免费播放| 国产亚洲四十路五十路| 色狠狠av线不卡香蕉一区二区| 91高清成人在线视频| 91在线视频在线精品3| 成人蜜桃美臀九一一区二区三区| 亚洲精品午夜久久久久| 18禁美女无遮挡免费| 中文字幕之无码色多多| 97超碰免费在线视频| 国产女孩喷水在线观看| 色97视频在线播放| 动色av一区二区三区| 天天日天天日天天擦| 天堂av在线最新版在线| 国产精品成人xxxx| 免费手机黄页网址大全| 风流唐伯虎电视剧在线观看| 晚上一个人看操B片| 97色视频在线观看| 97少妇精品在线观看| 欧美一区二区三区乱码在线播放| 99国内小视频在现欢看| 国产一区二区在线欧美| 国产午夜激情福利小视频在线| 亚洲精品午夜久久久久| 都市激情校园春色狠狠| 521精品视频在线观看| 人妻熟女在线一区二区| 欲满人妻中文字幕在线| 插逼视频双插洞国产操逼插洞| 日韩精品中文字幕在线| 国产变态另类在线观看| 最后99天全集在线观看| 在线视频免费观看网| 51国产偷自视频在线播放| 色97视频在线播放| 午夜成午夜成年片在线观看| 人妻少妇亚洲精品中文字幕| 老司机深夜免费福利视频在线观看| 大鸡巴操b视频在线| 亚洲激情唯美亚洲激情图片| 午夜久久久久久久精品熟女| 欧美成一区二区三区四区| 97国产在线av精品| 97精品视频在线观看| 青青草亚洲国产精品视频| 日韩美女综合中文字幕pp| 亚洲av在线观看尤物| 国产丰满熟女成人视频| 97精品人妻一区二区三区精品| weyvv5国产成人精品的视频| 亚洲一区制服丝袜美腿| 91九色porny国产蝌蚪视频| 唐人色亚洲av嫩草| 国产成人一区二区三区电影网站| 欧美老妇精品另类不卡片| 加勒比视频在线免费观看| 日韩人妻在线视频免费| 大黑人性xxxxbbbb| 国产自拍在线观看成人| 日韩加勒比东京热二区| 北条麻妃肉色丝袜视频| 美女av色播在线播放| 又粗又硬又猛又爽又黄的| 日韩一区二区电国产精品| 亚洲激情偷拍一区二区| 亚洲无码一区在线影院| 75国产综合在线视频| 夜色17s精品人妻熟女| 99久久99久国产黄毛片| 色爱av一区二区三区| 青青青青青操视频在线观看| avjpm亚洲伊人久久| 日韩少妇人妻精品无码专区| 秋霞午夜av福利经典影视| 亚洲高清自偷揄拍自拍| 狠狠躁夜夜躁人人爽天天久天啪| 性色蜜臀av一区二区三区| 久草视频在线看免费| 国产精品系列在线观看一区二区| av网址在线播放大全| 国产麻豆剧传媒精品国产av蜜桃| 亚洲 欧美 自拍 偷拍 在线| 18禁网站一区二区三区四区| 亚洲一区二区三区久久午夜 | 亚洲精品午夜aaa久久| 日韩av免费观看一区| 亚洲熟色妇av日韩熟色妇在线| 成年人免费看在线视频| 精品视频一区二区三区四区五区| 青青青国产免费视频| 视频一区二区三区高清在线| 偷拍美女一区二区三区| 端庄人妻堕落挣扎沉沦| 精品一区二区三区欧美| 人妻少妇av在线观看 | 亚洲精品麻豆免费在线观看| 天天日天天爽天天爽| 在线观看av2025| 久青青草视频手机在线免费观看 | 欧美一级片免费在线成人观看| 国产精品日韩欧美一区二区| 这里只有精品双飞在线播放| 日日摸夜夜添夜夜添毛片性色av| 国内自拍第一页在线观看| 国产综合精品久久久久蜜臀| 亚洲一区自拍高清免费视频| 热久久只有这里有精品| 欧美亚洲中文字幕一区二区三区| 欧美日本国产自视大全| 日比视频老公慢点好舒服啊| 绝顶痉挛大潮喷高潮无码| 57pao国产一区二区| 国产精品亚洲在线观看| 亚洲精品av在线观看| 中文字幕一区二区人妻电影冢本 | 成人av天堂丝袜在线观看| 在线观看欧美黄片一区二区三区| 高潮喷水在线视频观看| 黄片三级三级三级在线观看| 国产高清精品一区二区三区| 中文字幕日韩人妻在线三区| 青青草视频手机免费在线观看| 91啪国自产中文字幕在线| 啪啪啪18禁一区二区三区| 午夜在线观看一区视频| 五月婷婷在线观看视频免费| 偷拍3456eee| 免费岛国喷水视频在线观看| 欧美成人猛片aaaaaaa| 精品日产卡一卡二卡国色天香| 久久久久久久精品老熟妇| 美女 午夜 在线视频| 一区二区久久成人网| 欧美交性又色又爽又黄麻豆| 国产污污污污网站在线| 大鸡巴操娇小玲珑的女孩逼| 含骚鸡巴玩逼逼视频| 在线观看一区二区三级| 黄片大全在线观看观看| 中文字母永久播放1区2区3区 | 五月精品丁香久久久久福利社 | 白嫩白嫩美女极品国产在线观看| 午夜精品一区二区三区福利视频| 欧美精品伦理三区四区| 日本男女操逼视频免费看| 天天操夜夜骑日日摸| 99久久99久国产黄毛片| 天天干天天啪天天舔| 大黑人性xxxxbbbb| 欧美日韩一级黄片免费观看| 亚洲精品高清自拍av| 天天做天天干天天操天天射| 大白屁股精品视频国产| 搞黄色在线免费观看| 国产精品三级三级三级| 在线视频国产欧美日韩| 在线国产精品一区二区三区| 婷婷综合亚洲爱久久| 欧洲日韩亚洲一区二区三区 | 91中文字幕免费在线观看| 在线不卡日韩视频播放| 亚洲av琪琪男人的天堂| 日美女屁股黄邑视频| 国产综合精品久久久久蜜臀| 精品一区二区三区三区色爱| 国产精品女邻居小骚货| 国产一区av澳门在线观看| 免费观看污视频网站| 秋霞午夜av福利经典影视| 97国产精品97久久| 亚洲欧美成人综合在线观看| 91极品新人『兔兔』精品新作| 扒开让我视频在线观看| 亚洲精品中文字幕下载| 热思思国产99re| 中文字幕日韩无敌亚洲精品 | 午夜婷婷在线观看视频| 免费黄高清无码国产| 亚洲国产第一页在线观看| 天天干天天操天天玩天天射| 中文字母永久播放1区2区3区| 一区二区三区美女毛片| 青青青青青青青青青青草青青| 国产之丝袜脚在线一区二区三区| 国产亚洲精品欧洲在线观看| 亚洲在线免费h观看网站| 粉嫩av蜜乳av蜜臀| 欧美亚洲少妇福利视频| 欧美日韩中文字幕欧美| 偷拍自拍视频图片免费| 成人乱码一区二区三区av| 爱爱免费在线观看视频| 久久久久久9999久久久久| 日本乱人一区二区三区| 99热这里只有国产精品6| 日韩在线中文字幕色| 黄色三级网站免费下载| 免费男阳茎伸入女阳道视频| 成年人黄色片免费网站| 99久久成人日韩欧美精品| 色婷婷六月亚洲综合香蕉| 成年女人免费播放视频| 蜜桃视频入口久久久| 亚洲在线观看中文字幕av| 欧美成人一二三在线网| 国产视频一区二区午夜| 成人30分钟免费视频| 中文字幕在线观看极品视频| 天天色天天舔天天射天天爽| 狠狠嗨日韩综合久久| 男人的网址你懂的亚洲欧洲av| 在线免费观看欧美小视频| 中文字幕,亚洲人妻| 中文字幕第1页av一天堂网| 亚洲精品中文字幕下载| 福利视频一区二区三区筱慧| 亚洲免费va在线播放| 97小视频人妻一区二区| 无码精品一区二区三区人 | 日韩在线视频观看有码在线 | 亚洲av第国产精品| 岛国一区二区三区视频在线| 18禁美女黄网站色大片下载| 亚洲熟色妇av日韩熟色妇在线 | 久久香蕉国产免费天天| 亚洲精品成人网久久久久久小说| 国产在线91观看免费观看| 国产日韩一区二区在线看| 国产av国片精品一区二区| 亚洲精品国产在线电影| 亚洲欧洲一区二区在线观看| 粉嫩欧美美人妻小视频| 亚洲国产精品久久久久蜜桃| 精品国产高潮中文字幕| 熟女91pooyn熟女| 欧洲日韩亚洲一区二区三区| 欧美黑人巨大性xxxxx猛交| 国产真实乱子伦a视频| 欧美亚洲少妇福利视频| 亚洲精品色在线观看视频| 成人性黑人一级av| 深夜男人福利在线观看| 2020中文字幕在线播放| 欧美黄片精彩在线免费观看| 国产高清在线观看1区2区| 色婷婷精品大在线观看| 啊啊啊想要被插进去视频| 综合激情网激情五月天| 97年大学生大白天操逼| 国产精品自拍视频大全| 欧美日韩情色在线观看| 亚洲欧美福利在线观看| 夏目彩春在线中文字幕| 中文字幕人妻熟女在线电影| 超级av免费观看一区二区三区| 亚洲av无硬久久精品蜜桃| 国产精品成人xxxx| 亚洲精品国产久久久久久| 久久这里只有精品热视频| 北条麻妃av在线免费观看| 国产精品国产三级国产午| 欧美黑人与人妻精品| 天天插天天色天天日| 久久久超爽一二三av| 干逼又爽又黄又免费的视频| 日本美女性生活一级片| 做爰视频毛片下载蜜桃视频1| 成年人黄视频在线观看| 精品日产卡一卡二卡国色天香| 精品高潮呻吟久久av| 精品首页在线观看视频| 国产亚洲国产av网站在线| 欧美乱妇无乱码一区二区| 中文字幕人妻熟女在线电影| 亚洲精品亚洲人成在线导航| 国产一区成人在线观看视频| av俺也去在线播放| 国产精品中文av在线播放| 人人妻人人爱人人草| 狠狠躁夜夜躁人人爽天天天天97| 一区二区三区的久久的蜜桃的视频| yy96视频在线观看| xxx日本hd高清| 中文字幕视频一区二区在线观看| 大骚逼91抽插出水视频| 日韩亚国产欧美三级涩爱| 国产亚洲国产av网站在线| 激情五月婷婷综合色啪| 精品亚洲国产中文自在线| 在线观看亚洲人成免费网址| 搡老妇人老女人老熟女| 免费观看理论片完整版| 首之国产AV医生和护士小芳| 国产日韩精品电影7777| 91老师蜜桃臀大屁股| 免费在线黄色观看网站| 国产精品欧美日韩区二区 | 天天通天天透天天插| 亚洲av天堂在线播放| av天堂中文免费在线| 大鸡巴后入爆操大屁股美女| 国产性感美女福利视频| 一个色综合男人天堂| 亚洲在线免费h观看网站| 日韩美女综合中文字幕pp| 午夜蜜桃一区二区三区| 91在线视频在线精品3| 欧美怡红院视频在线观看| 80电影天堂网官网| 国产又粗又硬又猛的毛片视频| 鸡巴操逼一级黄色气| 国产亚洲精品品视频在线| 亚洲图片偷拍自拍区| 任你操任你干精品在线视频| 1000部国产精品成人观看视频| 传媒在线播放国产精品一区| 把腿张开让我插进去视频| 国产欧美精品免费观看视频| 日本韩国免费福利精品| 久久永久免费精品人妻专区 | 日本精品视频不卡一二三| 日日夜夜狠狠干视频| 久久久久久久久久久免费女人| 最新欧美一二三视频| 国产使劲操在线播放| 日本啪啪啪啪啪啪啪| 天天躁夜夜躁日日躁a麻豆| 免费黄高清无码国产| 亚洲伊人久久精品影院一美女洗澡 | 在线视频自拍第三页| eeuss鲁片一区二区三区| 亚洲一区二区久久久人妻| 色秀欧美视频第一页| 鸡巴操逼一级黄色气| 丝袜长腿第一页在线| 2012中文字幕在线高清| 欧美成人综合视频一区二区| 绝顶痉挛大潮喷高潮无码| 人妻久久无码中文成人| 亚洲激情,偷拍视频|