精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

強推!10個日常Docker使用技巧

云計算
如果你想運行多個Docker 容器在一臺主機上,如果要設置不同的TLS設置,網絡設置,日志設置和存儲驅動程序特定的容器,這是特別有用的。

我有機會建立一個以Docker為基礎的微服務架構在我現在的工作中,很多人都會分享他們使用Docker的心得,我想我也不會例外。因此我總結了一些,可能你會在日常使用Docker的時候會用到。

 強推!10個日常Docker使用技巧

1. 一臺主機部署多個Docker實例

如果你想運行多個Docker 容器在一臺主機上,如果要設置不同的TLS設置,網絡設置,日志設置和存儲驅動程序特定的容器,這是特別有用的。例如,我們目前正在運行一個標準設立兩個Docker守護進程。一運行consul提供DNS解析,并作為群集存儲為其他Docker 容器。

For example:

  1. # start a docker daemon and bind to a specific port 
  2.  
  3. docker daemon -H tcp://$IP:5000 --storage-opt dm.fs=xfs \ 
  4.  
  5. -p "/var/run/docker1.pid" \ 
  6.  
  7. -g "/var/lib/docker1" \ 
  8.  
  9. --exec-root="/var/run/docker1 
  10.  
  11. # and start another daemon 
  12.  
  13. docker daemon -H tcp://$IP:5001 --storage-opt dm.fs=xfs \ 
  14.  
  15. -s devicemapper \ 
  16.  
  17. --storage-opt dm.thinpooldev=/dev/mapper/docker--vg-docker--pool \ 
  18.  
  19. -p "/var/run/docker2.pid" \ 
  20.  
  21. -g "/var/lib/docker2" --exec-root="/var/run/docker2" 
  22.  
  23. --cluster-store=consul://$IP:8500 \ 
  24.  
  25. --cluster-advertise=$IP:2376 
  1. # start a docker daemon and bind to a specific port 
  2.  
  3. dockerdaemon -H tcp://$IP:5000 --storage-opt dm.fs=xfs \ 
  4.  
  5. -p "/var/run/docker1.pid" \ 
  6.  
  7. -g "/var/lib/docker1" \ 
  8.  
  9. --exec-root="/var/run/docker1 
  10.  
  11. # and start another daemon 
  12.  
  13. docker daemon -H tcp://$IP:5001 --storage-opt dm.fs=xfs \ 
  14.  
  15. -s devicemapper \ 
  16.  
  17. --storage-opt dm.thinpooldev=/dev/mapper/docker--vg-docker--pool \ 
  18.  
  19. -p "/var/run/docker2.pid" \ 
  20.  
  21. -g "/var/lib/docker2" --exec-root="/var/run/docker2" 
  22.  
  23. --cluster-store=consul://$IP:8500 \ 
  24.  
  25. --cluster-advertise=$IP:2376 

2. Docker Exec的使用

Docker Exec是一個很重要很多人都會用到的工具,也許你使用Docker不只是為你的升級,生產和測試環境,同時也對本地機器上運行的數據庫,服務器密鑰庫等,這是能夠直接運行的容器的上下文中運行的命令,非常方便。

我們做了大量的Cassandra,并檢查表是否包含正確的數據。如果你只是想執行一個快速CQL查詢,Docker exec 就很贊:

  1. $ docker ps --format "table {{.ID}}\t {{.Names}}\t {{.Status}}" 
  2.  
  3. CONTAINER ID NAMES STATUS 
  4.  
  5. 682f47f97fce cassandra Up 2 minutes 
  6.  
  7. 4c45aea49180 consul Up 2 minutes 
  8.  
  9. $ docker exec -ti 682f47f97fce cqlsh --color 
  10.  
  11. Connected to Test Cluster at 127.0.0.1:9042. 
  12.  
  13. [cqlsh 5.0.1 | Cassandra 2.2.3 | CQL spec 3.3.1 | Native protocol v4] 
  14.  
  15. Use HELP for help. 
  16.  
  17. cqlsh> 
  1. $ dockerps --format "table {{.ID}}\t {{.Names}}\t {{.Status}}" 
  2.  
  3. CONTAINERID NAMES STATUS 
  4.  
  5. 682f47f97fce cassandra Up 2 minutes 
  6.  
  7. 4c45aea49180 consul Up 2 minutes 
  8.  
  9. $ dockerexec -ti 682f47f97fce cqlsh --color 
  10.  
  11. Connectedto TestClusterat 127.0.0.1:9042. 
  12.  
  13. [cqlsh 5.0.1 | Cassandra 2.2.3 | CQLspec 3.3.1 | Native protocolv4] 
  14.  
  15. Use HELPfor help. 
  16.  
  17. cqlsh> 

或者只是訪問nodetool或鏡像中可用的任何其他工具:

  1. $ docker exec -ti 682f47f97fce nodetool status 
  2.  
  3. Datacenter: datacenter1 
  4.  
  5. ======================= 
  6.  
  7. Status=Up/Down 
  8.  
  9. |/ State=Normal/Leaving/Joining/Moving 
  10.  
  11. -- Address Load Tokens Owns Host ID Rack 
  12.  
  13. UN 192.168.99.100 443.34 KB 256 ? 8f9f4a9c-5c4d-4453-b64b-7e01676361ff rack1 
  14.  
  15. Note: Non-system keyspaces don't have the same replication settings, effective ownership information 
  1. $ dockerexec -ti 682f47f97fce nodetoolstatus 
  2.  
  3. Datacenter: datacenter1 
  4.  
  5. ======================= 
  6.  
  7. Status=Up/Down 
  8.  
  9. |/ State=Normal/Leaving/Joining/Moving 
  10.  
  11. -- Address Load Tokens Owns HostID Rack 
  12.  
  13. UN 192.168.99.100 443.34 KB 256 ? 8f9f4a9c-5c4d-4453-b64b-7e01676361ff rack1 
  14.  
  15. Note: Non-systemkeyspacesdon't havethesamereplicationsettings, effectiveownershipinformation 

這當然可以被應用到任何(Client)的工具捆綁在一起的鏡像中。我個人覺得這樣會比所有客戶端和本地更新更簡單。

3. Docker 的檢查 和JQ

與其說這是一個Docker技巧,不如說是一個JQ技巧。如果你沒有聽過JQ,它是一個在命令行解析JSON的偉大工具。因為我們可以不需要使用format specifier而能夠查看容器里面發生的一切。

  1. # Get network information: 
  2.  
  3. $ docker inspect 4c45aea49180 | jq '.[].NetworkSettings.Networks' 
  4.  
  5.  
  6. "bridge": { 
  7.  
  8. "EndpointID""ba1b6efba16de99f260e0fa8892fd4685dbe2f79cba37ac0114195e9fad66075"
  9.  
  10. "Gateway""172.17.0.1"
  11.  
  12. "IPAddress""172.17.0.2"
  13.  
  14. "IPPrefixLen": 16, 
  15.  
  16. "IPv6Gateway"""
  17.  
  18. "GlobalIPv6Address"""
  19.  
  20. "GlobalIPv6PrefixLen": 0, 
  21.  
  22. "MacAddress""02:42:ac:11:00:02" 
  23.  
  24.  
  25.  
  26. # Get the arguments with which the container was started 
  27.  
  28. $ docker inspect 4c45aea49180 | jq '.[].Args' 
  29.  
  30.  
  31. "-server"
  32.  
  33. "-advertise"
  34.  
  35. "192.168.99.100"
  36.  
  37. "-bootstrap-expect"
  38.  
  39. "1" 
  40.  
  41.  
  42. # Get all the mounted volumes 
  43.  
  44. 11:22 $ docker inspect 4c45aea49180 | jq '.[].Mounts' 
  45.  
  46.  
  47.  
  48. "Name""a8125ffdf6c4be1db4464345ba36b0417a18aaa3a025267596e292249ca4391f"
  49.  
  50. "Source""/mnt/sda1/var/lib/docker/volumes/a8125ffdf6c4be1db4464345ba36b0417a18aaa3a025267596e292249ca4391f/_data"
  51.  
  52. "Destination""/data"
  53.  
  54. "Driver""local"
  55.  
  56. "Mode"""
  57.  
  58. "RW"true 
  59.  
  60.  
  1. # Get network information: 
  2.  
  3. $ dockerinspect 4c45aea49180 | jq '.[].NetworkSettings.Networks' 
  4.  
  5.  
  6. "bridge": { 
  7.  
  8. "EndpointID""ba1b6efba16de99f260e0fa8892fd4685dbe2f79cba37ac0114195e9fad66075"
  9.  
  10. "Gateway""172.17.0.1"
  11.  
  12. "IPAddress""172.17.0.2"
  13.  
  14. "IPPrefixLen": 16, 
  15.  
  16. "IPv6Gateway"""
  17.  
  18. "GlobalIPv6Address"""
  19.  
  20. "GlobalIPv6PrefixLen": 0, 
  21.  
  22. "MacAddress""02:42:ac:11:00:02" 
  23.  
  24.  
  25.  
  26. # Get the arguments with which the container was started 
  27.  
  28. $ dockerinspect 4c45aea49180 | jq '.[].Args' 
  29.  
  30.  
  31. "-server"
  32.  
  33. "-advertise"
  34.  
  35. "192.168.99.100"
  36.  
  37. "-bootstrap-expect"
  38.  
  39. "1" 
  40.  
  41.  
  42. # Get all the mounted volumes 
  43.  
  44. 11:22 $ dockerinspect 4c45aea49180 | jq '.[].Mounts' 
  45.  
  46.  
  47.  
  48. "Name""a8125ffdf6c4be1db4464345ba36b0417a18aaa3a025267596e292249ca4391f"
  49.  
  50. "Source""/mnt/sda1/var/lib/docker/volumes/a8125ffdf6c4be1db4464345ba36b0417a18aaa3a025267596e292249ca4391f/_data"
  51.  
  52. "Destination""/data"
  53.  
  54. "Driver""local"
  55.  
  56. "Mode"""
  57.  
  58. "RW"true 
  59.  
  60.  

當然,它也能很好的完成查詢其他類型的(Docker-esque) API生成的JSON(e.g Marathon, Mesos, Consul etc.)JQ提供了一個非常廣泛的API,用于訪問和處理JSON.更多信息可以在這里找到: https://stedolan.github.io/jq/

4. 擴展現有容器和在本地注冊

在Docker hub中有大量可以使用的的不同使用場景的鏡像。我們注意到,雖然有很多可用的鏡像,但是很多時候我們不得對他們做一些修改。比如更好的健康檢查consul,通過系統變量或命令行參數的其他配置,為更好地設置或增加我們的集群,這是不容易做到的。如果我們碰到這個是剛剛創建自己的Docker的鏡像和把它推到我們的本地注冊表。我們通常是這么做的。

比如,我們希望有JQ可在我們的consul 鏡像中這樣我們就可以很方便的檢查我們的服務是否正常。

  1. FROM progrium/consul 
  2.  
  3. USER root 
  4.  
  5. ADD bin/jq /bin/jq 
  6.  
  7. ADD scripts/health-check.sh /bin/health-check.sh 
  1. FROMprogrium/consul 
  2.  
  3. USERroot 
  4.  
  5. ADDbin/jq /bin/jq 
  6.  
  7. ADDscripts/health-check.sh /bin/health-check.sh 

我們有了health check scripts and JQ我們就可以從我們自己的consul image做health check了。我們也有一個本地注冊表運行鏡像在創建后,我們只是標記生成的鏡像,并將其推到我們的本地注冊表

  1. $ docker build . 
  2.  
  3. ... 
  4.  
  5. $ docker tag a3157e9edc18 /consul-local:some-tag 
  6.  
  7. $ docker push /consul-local:some-tag 
  1. $ dockerbuild . 
  2.  
  3. ... 
  4.  
  5. $ dockertaga3157e9edc18 /consul-local:some-tag 
  6.  
  7. $ dockerpush /consul-local:some-tag 

現在,它可以提供給我們的開發者了。并且也可在我們的不同的測試環境中使用。

5. 訪問遠程主機的Docker

Docker的CLI是一個非常酷的工具,其中一個很大的特點是,你可以用它來輕松地訪問多Docker守護進程,即使它們在不同的主機。你需要做的就是設置DOCKER_HOST環境變量指向Docker daemon的監聽地址。如果該端口是可以的訪問,你可以直接在遠程主機上的Docker,這和你運行一個Docker daemon ,并設置為通過docker-machine幾乎相同的原理。

  1. $ docker-machine env demo 
  2.  
  3. export DOCKER_TLS_VERIFY="1" 
  4.  
  5. export DOCKER_HOST="tcp://192.168.99.100:2376" 
  6.  
  7. export DOCKER_CERT_PATH="/Users/jos/.docker/machine/machines/demo" 
  8.  
  9. export DOCKER_MACHINE_NAME="demo" 
  1. $ docker-machineenvdemo 
  2.  
  3. exportDOCKER_TLS_VERIFY="1" 
  4.  
  5. exportDOCKER_HOST="tcp://192.168.99.100:2376" 
  6.  
  7. exportDOCKER_CERT_PATH="/Users/jos/.docker/machine/machines/demo" 
  8.  
  9. exportDOCKER_MACHINE_NAME="demo" 

但你不必限制自己Docker daemons 程通過docker-machine啟動。如果你有你的后臺程序運行的控制,以及安全的網絡,你可以很容易地從一臺機器控制所有的。

6. 簡單的主機目錄掛載

當你正在使用你的容器,你有時需要得到容器里面的一些數據。您可以復制它,或者通過使用ssh命令。但多數情況下是最容易的是將一個主機目錄添加容器中。可以很容易地通過執行下面的命令完成操作:

  1. $ mkdir /Users/jos/temp/samplevolume/ 
  2.  
  3. $ ls /Users/jos/temp/samplevolume/ 
  4.  
  5. $ docker run -v /Users/jos/temp/samplevolume/:/samplevolume -it --rm busybox 
  6.  
  7. $ docker run -v /Users/jos/temp/samplevolume/:/samplevolume -it --rm busybox 
  8.  
  9. / # ls samplevolume/ 
  10.  
  11. / # touch samplevolume/hello 
  12.  
  13. / # ls samplevolume/ 
  14.  
  15. hello 
  16.  
  17. / # exit 
  18.  
  19. $ ls /Users/jos/temp/samplevolume/ 
  20.  
  21. hello 
  1. $ mkdir /Users/jos/temp/samplevolume/ 
  2.  
  3. $ ls /Users/jos/temp/samplevolume/ 
  4.  
  5. $ dockerrun -v /Users/jos/temp/samplevolume/:/samplevolume -it --rmbusybox 
  6.  
  7. $ dockerrun -v /Users/jos/temp/samplevolume/:/samplevolume -it --rmbusybox 
  8.  
  9. / # ls samplevolume/ 
  10.  
  11. / # touch samplevolume/hello 
  12.  
  13. / # ls samplevolume/ 
  14.  
  15. hello 
  16.  
  17. / # exit 
  18.  
  19. $ ls /Users/jos/temp/samplevolume/ 
  20.  
  21. hello 

你可以看到我們指定的目錄安裝在容器內,而且我們把所有的文件都在主機上,并在容器內可見。我們也可以使用inspect查看,看看有什么安裝在哪里。

  1. $ docker inspect 76465cee5d49 | jq '.[].Mounts' 
  2.  
  3.  
  4.  
  5. "Source""/Users/jos/temp/samplevolume"
  6.  
  7. "Destination""/samplevolume"
  8.  
  9. "Mode"""
  10.  
  11. "RW"true 
  12.  
  13.  
  1. $ dockerinspect 76465cee5d49 | jq '.[].Mounts' 
  2.  
  3.  
  4.  
  5. "Source""/Users/jos/temp/samplevolume"
  6.  
  7. "Destination""/samplevolume"
  8.  
  9. "Mode"""
  10.  
  11. "RW"true 
  12.  
  13.  

我們可以在Docker官網看到更多的特性和使用方 法:https://docs.docker.com/engine/userguide/dockervolumes/

7.添加DNS解析到你的容器

我之前提到過,我們可以通過consul來管理容器。Consul是一個支持多數據中心分布式高可用的服務發現和配置共享的服務軟件,可以為容器提供服務發現和健康檢查。對于服務發現Consul提供無論是REST API或傳統DNS,他的偉大的之處是,當你運行一個具體的鏡像,你可以指定你的容器DNS服務器。

當你有Consul運行(或者其它 DNS server)你可以把它添加到您的Docker daemon就像這樣:

 

  1. docker run -d --dns $IP_CONSUL --dns-search service.consul 

 

  1. dockerrun -d --dns $IP_CONSUL --dns-searchservice.consul 

現在,我們可以解決與Consul的名字注冊的所有容器的IP地址,比如在我們的環境我們有了一個cassandra 集群。每個cassandra將自己注冊名稱為“cassandra”我們的Consul 集群。最酷的是,我們現在只是解決卡cassandra的地址基于主機名(而不必使用Docker鏈接)

  1. $ docker exec -ti 00c22e9e7c4e bash 
  2.  
  3. daemon@00c22e9e7c4e:/opt/docker$ ping cassandra 
  4.  
  5. PING cassandra.service.consul (192.168.99.100): 56 data bytes 
  6.  
  7. 64 bytes from 192.168.99.100: icmp_seq=0 ttl=64 time=0.053 ms 
  8.  
  9. 64 bytes from 192.168.99.100: icmp_seq=1 ttl=64 time=0.077 ms 
  10.  
  11. ^C--- cassandra.service.consul ping statistics --- 
  12.  
  13. 2 packets transmitted, 2 packets received, 0% packet loss 
  14.  
  15. round-trip min/avg/max/stddev = 0.053/0.065/0.077/0.000 ms 
  16.  
  17. daemon@00c22e9e7c4e:/opt/docker$ 
  1. $ dockerexec -ti 00c22e9e7c4e bash 
  2.  
  3. daemon@00c22e9e7c4e:/opt/docker$ pingcassandra 
  4.  
  5. PINGcassandra.service.consul (192.168.99.100): 56 databytes 
  6.  
  7. 64 bytesfrom 192.168.99.100: icmp_seq=0 ttl=64 time=0.053 ms 
  8.  
  9. 64 bytesfrom 192.168.99.100: icmp_seq=1 ttl=64 time=0.077 ms 
  10.  
  11. ^C--- cassandra.service.consulpingstatistics --- 
  12.  
  13. 2 packetstransmitted, 2 packetsreceived, 0% packetloss 
  14.  
  15. round-tripmin/avg/max/stddev = 0.053/0.065/0.077/0.000 ms 
  16.  
  17. daemon@00c22e9e7c4e:/opt/docker$ 

8. Docker-UI是一個很棒來查看和獲取洞察你容器的方式

使用Docker CLI來查看Docker容器所發生的一切并不難。很多時候,雖然你并不需要的Docker CLI的全部功能,但只是想快速瀏覽其中的容器運行,看看發生了什么。Docker UI ( https://github.com/crosbymichael/dockerui )就是一個這樣偉大的項目,并且他是開源的。

 

有了這個工具,你可以看到一個特定的Docker deamon的容器和鏡像的最重要的東西。

9. Container 不能啟動? Overwrite the Entry Point你只需要從bash啟動。

有時候一個容器只是沒有做你想要它做的事情,你已經重新創建了Docker 鏡像,你在啟動時運行了幾次,但不知何故,該應用程序沒有反應,然后日志顯示也沒什么有用的信息。最簡單的調試方法是overwrite the entry point ,看看在容器內部發生的一切,查看文件權限是否正確。拷貝進入鏡像的文件是否正確,或者任何其它可能出現的錯誤。幸運的是,Docker有這樣做的一個簡單的解決方案。你可以從一個選擇的入口點啟動你的容器:

  1. $ docker run -ti --entrypoint=bash cassandra 
  2.  
  3. root@896757f0bfd4:/# ls 
  4.  
  5. bin dev etc lib mediaopt root sbin sys usr 
  6.  
  7. boot docker-entrypoint.sh home lib64 mntproc run srv tmp var 
  8.  
  9. root@896757f0bfd4:/# 
  1. $ dockerrun -ti --entrypoint=bashcassandra 
  2.  
  3. root@896757f0bfd4:/# ls 
  4.  
  5. bin dev etc libmediaopt root sbin sys usr 
  6.  
  7. boot docker-entrypoint.sh home lib64 mntproc run srv tmp var 
  8.  
  9. root@896757f0bfd4:/# 

10. 監聽一個容器的事件:

當你編寫自己的腳本,或者只是想了解發生了什么,你可以Docker event command運行你的鏡像,為此編寫腳本很容易。

 

這是我們沒有使用Docker Compose 和Swarm yet和Docker 1.9網絡層 特性的情況,Docker一個很酷的工具,有一套偉大的工具。在未來希望Docker越來越好,我也會給大家展示一些Docker更酷的東西。

責任編輯:何妍 來源: 推酷
相關推薦

2020-09-23 09:13:47

Docker

2021-12-16 10:53:23

shell命令腳本

2022-08-18 10:01:35

Jmeter技巧

2015-07-27 09:36:09

storyboard

2011-05-07 11:15:39

掃描儀使用技巧

2013-04-10 09:46:29

EclipseJava

2010-11-30 09:06:28

Visual Stud

2020-06-30 08:28:29

Vue開發前端

2011-06-24 09:15:26

Chromebook谷歌

2010-09-28 08:52:00

C#Visual Stud

2019-04-30 09:40:41

Windows 10技巧Windows

2019-07-10 15:51:40

Python數據分析代碼

2011-05-07 13:23:17

噴墨打印機使用技巧

2023-02-07 08:00:00

MySQL數據庫技巧

2011-07-07 18:39:22

SEO

2021-03-15 08:13:19

JavaScript開發代碼

2014-07-29 13:55:10

程序員代碼

2020-06-08 07:52:31

Python開發工具

2019-02-25 15:15:44

Windows 10Windows技巧

2011-07-07 10:21:56

點贊
收藏

51CTO技術棧公眾號

免费观看亚洲视频| 成人淫片在线看| 亚洲av无码国产精品久久| 欧美另类老肥妇| 国产精品久久久久久久久快鸭| 亚洲最大福利视频网| 欧美激情黑白配| 五月精品视频| 日韩精品视频在线观看免费| 精品日韩久久久| 国产美女情趣调教h一区二区| 国产午夜精品一区二区三区视频| 91亚洲一区精品| 四虎成人在线观看| 伊人蜜桃色噜噜激情综合| 在线日韩日本国产亚洲| 欧美一级片黄色| 祥仔av免费一区二区三区四区| 午夜精品一区在线观看| 日韩第一页在线观看| 日色在线视频| 国产.欧美.日韩| 国产精品美女网站| 国产婷婷色一区二区在线观看| 欧美成人中文| 中文字幕av一区| 亚洲天堂视频一区| 免费萌白酱国产一区二区三区| 在线电影欧美成精品| www.国产区| 国产乱码精品一区二三赶尸艳谈| 亚洲视频一区二区免费在线观看| 西游记1978| 视频国产一区二区三区| 成人免费视频一区二区| 114国产精品久久免费观看| 在线观看中文字幕网站| 久久精品盗摄| 欧洲成人免费视频| 国产成人无码精品久在线观看| 欧美特黄一区| 欧美成人精品h版在线观看| 殴美一级黄色片| 国产永久精品大片wwwapp| 亚洲老头老太hd| 久久亚洲AV成人无码国产野外 | 国产999精品久久久影片官网| 国产在线拍揄自揄拍无码视频| 欧美黄色大片网站| 欧美激情精品久久久久久| 麻豆国产尤物av尤物在线观看| 欧美一区在线看| 欧美成人免费全部观看天天性色| 男女性高潮免费网站| 午夜精品国产| 久久久之久亚州精品露出| 国产亚洲成人精品| 亚洲日本国产| 2018中文字幕一区二区三区| 国产精品999在线观看| 国产一区二区三区久久久久久久久 | 亚洲乱亚洲乱妇| 欧美国产欧美综合| 亚洲一区二区三区涩| 国产黄色在线观看| 一片黄亚洲嫩模| 男人插女人视频在线观看| 欧美另类老肥妇| 在线观看日韩电影| 久久婷婷中文字幕| 99精品国产一区二区三区2021 | 国产原创av在线| 中文字幕欧美日韩一区| 日本免费在线视频观看| 国产视频中文字幕在线观看| 亚洲综合激情网| 浮妇高潮喷白浆视频| 三上悠亚激情av一区二区三区| 欧美少妇bbb| 波多野结衣电影免费观看| 久久资源综合| 在线精品视频视频中文字幕| 国产精品 欧美激情| 亚洲天堂黄色| 国产精品999999| 97精品人妻一区二区三区| 国产成人免费在线观看| 久久久免费看| 国产精品剧情一区二区在线观看 | 精品国产av无码一区二区三区| 自拍网站在线观看| 欧美一级理论片| 久久精品老司机| 在线一区免费| 国产精品第一第二| 欧洲精品久久一区二区| 中文字幕不卡在线播放| 成人午夜视频在线观看免费| 免费高清视频在线一区| 欧美精品一区二区三区蜜桃视频| 蜜桃av乱码一区二区三区| 欧美黄色大片网站| 国产精品爽黄69| 天天躁日日躁狠狠躁喷水| 国产精品久久久久久久久果冻传媒 | 日韩Av无码精品| 久久综合99| 9.1国产丝袜在线观看| 97超视频在线观看| 久久久久青草大香线综合精品| 9色视频在线观看| 国产黄色精品| 精品丝袜一区二区三区| 欧美激情一区二区视频| 蜜臀精品久久久久久蜜臀| 国产亚洲一区在线播放| 最新日本在线观看| 欧美酷刑日本凌虐凌虐| 最近中文字幕在线mv视频在线| 欧美日韩影院| 3d动漫精品啪啪一区二区三区免费 | 中文字幕精品—区二区| 欧美bbbbbbbbbbbb精品| 国产91精品免费| 乱子伦一区二区| h1515四虎成人| 亚洲欧美国产另类| 免费观看一区二区三区毛片| 丁香网亚洲国际| 可以在线看黄的网站| 成人午夜亚洲| 中文字幕精品av| 国产黄网在线观看| 久久亚洲精品国产精品紫薇| 久久99中文字幕| 成人另类视频| 欧美高跟鞋交xxxxxhd| 国产在成人精品线拍偷自揄拍| 欧美经典三级视频一区二区三区| 久久婷婷五月综合色国产香蕉| 国产精品99久久免费观看| 欧美激情综合亚洲一二区 | 99精品1区2区| 丰满爆乳一区二区三区| 国产成人av毛片| 久久人人爽人人| 亚洲欧美另类综合| 洋洋av久久久久久久一区| 日韩精品xxx| 欧美激情91| 国产不卡一区二区在线观看| av在线app| 日韩欧美一级特黄在线播放| 国产成人无码aa精品一区| 狠狠色丁香婷婷综合| 手机看片日韩国产| 日本亚洲视频| 久久久免费高清电视剧观看| 人妻无码中文字幕| 欧美日韩性生活视频| 精品无码一区二区三区| 日日摸夜夜添夜夜添亚洲女人| 日韩欧美三级一区二区| 国产情侣一区二区三区| 不用播放器成人网| 日本xxxxxwwwww| 日韩欧美999| 亚洲激情图片网| 国产一区在线不卡| 国产freexxxx性播放麻豆| 久久久久97| 欧洲中文字幕国产精品| 欧美jizzhd欧美| 精品久久久久99| 欧美一区免费看| 国产精品不卡一区二区三区| 在线观看你懂的视频| 国产欧美大片| 中文字幕日韩精品久久| 国产精品极品| 国产精品电影观看| 日韩三级电影视频| 亚洲精品自拍视频| 国产又粗又猛又爽又黄91| 亚洲成a人v欧美综合天堂| 一级片视频免费看| 国产精品一卡二卡| 日韩免费高清在线| 中文字幕亚洲精品乱码| 精品亚洲第一| 国产成人久久精品一区二区三区| 久久免费高清视频| 91看片在线观看| 日韩电视剧在线观看免费网站| 探花国产精品一区二区| 亚洲大片一区二区三区| www.日本高清视频| 99这里只有久久精品视频| 一区二区三区欧美精品| 亚洲伊人观看| 蜜臀av性久久久久蜜臀av| 国产伦精品一区二区三区视频| 91久久久一线二线三线品牌| 深夜视频一区二区| 久久久久久午夜| 老司机午夜在线视频| 亚洲精品自在久久| 黑人乱码一区二区三区av| 欧美日韩精品福利| 日本中文字幕在线观看视频| 一区二区三区四区蜜桃| 亚洲不卡的av| 久久精品夜色噜噜亚洲a∨| 国产女主播在线播放| 国产一区久久久| 手机在线看福利| 亚洲欧美日韩国产| 久激情内射婷内射蜜桃| 欧美精品综合| 最新中文字幕久久| 日韩在线理论| 日本一区二区三区免费看| 精品少妇一区| 成人欧美一区二区三区在线观看 | 国产一级在线播放| 国产精品成人免费| 在线观看天堂av| 国产精品色眯眯| 一级黄色片大全| 91在线国产福利| 久久久久久久无码| 成人久久18免费网站麻豆| 风韵丰满熟妇啪啪区老熟熟女| 久久国产人妖系列| 午夜激情av在线| 秋霞成人午夜伦在线观看| 日本新janpanese乱熟| 久久久久在线| 久久久久免费精品| 美女国产一区| 日韩亚洲在线视频| 日韩国产精品大片| 特级丰满少妇一级| 蜜臀av一区二区三区| 波多野结衣xxxx| 久久精品国产久精国产| 欧美国产日韩另类 | 精品人妻一区二区三区蜜桃视频| 久久久综合激的五月天| 一出一进一爽一粗一大视频| av电影一区二区| 中文字幕丰满孑伦无码专区| 99久久99久久精品国产片果冻| 亚洲久久久久久| 久久女同精品一区二区| 中文字幕第20页| 亚洲欧洲精品成人久久奇米网| 女性裸体视频网站| 一区二区三区加勒比av| 精品无码人妻一区二区三| 岛国av午夜精品| 久久精品99北条麻妃| 欧美日韩成人高清| 国产伦精品一区二区三区免.费| 欧美一二三区在线观看| 亚洲免费视频网| 亚洲精品中文字幕av| 一级日本在线| 欧美大片在线免费观看| 成人免费高清观看| 日本亚洲欧洲色| www.久久热| 国外成人在线视频网站| 国产区精品区| 欧美 国产 精品| 夜夜嗨av一区二区三区网站四季av| 日本精品免费在线观看| 麻豆久久久久久| 操人视频免费看| 337p粉嫩大胆色噜噜噜噜亚洲| 人妻互换一区二区激情偷拍| 亚洲激情图片qvod| 久久精品五月天| 日韩免费看网站| 国产原创av在线| 精品综合久久久久久97| 中文字幕影音在线| 91沈先生作品| 日韩av资源网| 特级黄色录像片| 久久精品一区| 国产成人av免费观看| 久久精品人人做| 久草视频在线资源站| 日韩欧美中文字幕在线播放| 国产又粗又黄又爽的视频| 亚洲国产精品专区久久| 日韩在线资源| 欧美在线视频网站| 亚洲日本一区二区三区在线| 日韩一二三区不卡在线视频| 国产精品大片| 欧洲在线免费视频| 国产三区在线成人av| 精品少妇一二三区| 欧美日韩国产首页| 欧美xxx.com| 久久久久久成人| 亚洲天堂网站| 午夜一区二区三视频在线观看| 国产精品老牛| 韩国三级丰满少妇高潮| 中文字幕av一区二区三区| 国产美女激情视频| 欧美xxxx在线观看| 黄网站免费在线播放| 国产精品久久久久久久久久免费 | 日韩成人久久久| 青青在线视频| 91精品视频在线| 久久密一区二区三区| 久久久久久久久久久福利| 粉嫩久久99精品久久久久久夜| 免费91在线观看| 欧洲精品中文字幕| 国产视频在线看| 91成人精品网站| 六月丁香久久丫| 国产一区 在线播放| 极品少妇xxxx精品少妇| 日本 欧美 国产| 欧美视频三区在线播放| 黄色大片在线免费观看| 日韩av电影院| 久久av免费看| av无码精品一区二区三区| 91在线云播放| 中文字幕69页| 亚洲欧洲在线视频| 欧美7777| 色女人综合av| 日本中文字幕不卡| 欧美一区二区三区粗大| 欧美日韩亚州综合| 最新av网站在线观看| 国产在线98福利播放视频| 天天揉久久久久亚洲精品| 中文字幕精品一区二区三区在线| 国产精品拍天天在线| 一本大道伊人av久久综合| 久久精品视频免费播放| 久久久久九九精品影院| 日韩a级黄色片| va亚洲va日韩不卡在线观看| 色播视频在线播放| 亚洲人成电影网站色www| 影音成人av| 国产日韩第一页| 粉嫩aⅴ一区二区三区四区| 精品肉丝脚一区二区三区| 日韩精品免费在线视频| 日本欧美不卡| 黑人巨大国产9丨视频| 国产91精品精华液一区二区三区| 在线观看国产亚洲| 亚洲视频国产视频| 小说区图片区亚洲| 性高湖久久久久久久久aaaaa| 99精品国产热久久91蜜凸| 少妇久久久久久久| 久久久精品久久| 欧洲vs亚洲vs国产| 欧美黑人又粗又大又爽免费| 国产精品成人在线观看| 国模人体一区二区| 国产成人精品电影| 亚洲欧美在线专区| 少妇饥渴放荡91麻豆| 欧美视频一二三区| 在线观看中文字幕的网站| 久久久久高清| 久久99久久久久久久久久久| 久草网在线观看| 亚洲视频免费一区| 欧美电影院免费观看| 国产精品后入内射日本在线观看| 国产欧美精品一区二区色综合 | 国产精品综合网| 国产农村妇女aaaaa视频| 精品国产拍在线观看| 六月丁香久久丫| 九九九久久久久久久| 疯狂欧美牲乱大交777| a篇片在线观看网站| 欧美在线激情| 成人免费观看男女羞羞视频| 影音先锋黄色网址| 97色伦亚洲国产| 亚洲电影影音先锋| 91玉足脚交白嫩脚丫|