亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

兩小時入門Docker教程實踐

2024-09-01 13:56:43
字體:
來源:轉載
供稿:網友

1.0引入

1.1Docker是什么?

Docker 最初是 dotCloud 公司創始人 Solomon Hykes 在法國期間發起的一個公司內部項目,于 2013 年 3 月以 Apache 2.0 授權協議開源,主要項目代碼在 GitHub 上進行維護。

Docker 使用 Google 公司推出的 Go 語言 進行開發實現。

docker是linux容器的一種封裝,提供簡單易用的容器使用接口。它是最流行的Linux容器解決方案。

docker的接口相當簡單,用戶可以方便的創建、銷毀容器。

docker將應用程序與程序的依賴,打包在一個文件里面。運行這個文件就會生成一個虛擬容器。

程序運行在虛擬容器里,如同在真實物理機上運行一樣,有了docker,就不用擔心環境問題了。

1.2應用場景

  • web應用的自動化打包和發布
  • 自動化測試和持續集成、發布
  • 在服務型環境中部署和調整數據庫或其他應用

1.3區別

1,物理機

Docker

二,虛擬機

Docker

三,docker容器

Docker

1.4Docker的三大概念及優勢

1.鏡像  image
2.容器  container
3.倉庫  repository

Docker容易優勢

1. 更高效的利用系統資源
由于容器不需要進行硬件虛擬以及運行完整操作系統等額外開銷,Docker 對系統 資源的利用率更高。
無論是應用執行速度、內存損耗或者文件存儲速度,都要比傳 統虛擬機技術更高效。因此,相比虛擬機技術,一個相同配置的主機,往往可以運 行更多數量的應用。

2. 更快速的啟動時間
傳統的虛擬機技術啟動應用服務往往需要數分鐘,而 Docker 容器應用,由于直接 運行于宿主內核,無需啟動完整的操作系統,因此可以做到秒級、甚至毫秒級的啟 動時間。大大的節約了開發、測試、部署的時間。

3. 一致的運行環境
開發過程中一個常見的問題是環境一致性問題。由于開發環境、測試環境、生產環 境不一致,導致有些 bug 并未在開發過程中被發現。
而 Docker 的鏡像提供了除內 核外完整的運行時環境,確保了應用運行環境一致性,從而不會再出現 “這段代碼 在我機器上沒問題啊” 這類問題。

4. 持續交付和部署
對開發和運維(DevOps)人員來說,最希望的就是一次創建或配置,可以在任意 地方正常運行。
使用 Docker 可以通過定制應用鏡像來實現持續集成、持續交付、部署。開發人員 可以通過 Dockerfile 來進行鏡像構建,并結合 持續集成(Continuous Integration) 系 統進行集成測試,
而運維人員則可以直接在生產環境中快速部署該鏡像,甚至結合 持續部署(Continuous Delivery/Deployment) 系統進行自動部署。
而且使用 Dockerfile 使鏡像構建透明化,不僅僅開發團隊可以理解應用運行環 境,也方便運維團隊理解應用運行所需條件,幫助更好的生產環境中部署該鏡像。

5. 更輕松的遷移
由于 Docker 確保了執行環境的一致性,使得應用的遷移更加容易。Docker 可以在 很多平臺上運行,無論是物理機、虛擬機、公有云、私有云,甚至是筆記本,其運 行結果是一致的。
因此用戶可以很輕易的將在一個平臺上運行的應用,遷移到另一 個平臺上,而不用擔心運行環境的變化導致應用無法正常運行的情況。 

2.0 Docker安裝

系統環境:docker最低支持centos7且在64位平臺上,內核版本在3.10以上

版本:社區版,企業版(包含了一些收費服務)

官方版安裝教程(英文)

博主版安裝教程:

# 安裝dockeryum install docker# 啟動docker systemctl start/status docker # 查看docker啟動狀態docker version 

配置加速器

簡介:DaoCloud 加速器是廣受歡迎的 Docker 工具,解決了國內用戶訪問 Docker Hub 緩慢的問題。DaoCloud 加速器結合國內的 CDN 服務與協議層優化,成倍的提升了下載速度。

DaoCloud官網

# 一條命令加速(記得重啟docker)curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://95822026.m.daocloud.io

3.0 Docker基礎命令

docker --help(中文注解)

Usage:docker [OPTIONS] COMMAND [arg...]  docker daemon [ --help | ... ]  docker [ --help | -v | --version ] Aself-sufficient runtime for containers. Options:  --config=~/.docker    Location of client config files #客戶端配置文件的位置 -D, --debug=false    Enable debug mode #啟用Debug調試模式 -H, --host=[]     Daemon socket(s) to connect to #守護進程的套接字(Socket)連接 -h, --help=false    Print usage #打印使用 -l, --log-level=info   Set the logging level #設置日志級別 --tls=false      Use TLS; implied by--tlsverify # --tlscacert=~/.docker/ca.pem Trust certs signed only by this CA #信任證書簽名CA --tlscert=~/.docker/cert.pem Path to TLS certificate file #TLS證書文件路徑 --tlskey=~/.docker/key.pem  Path to TLS key file #TLS密鑰文件路徑 --tlsverify=false    Use TLS and verify the remote #使用TLS驗證遠程 -v, --version=false    Print version information and quit #打印版本信息并退出 Commands: attach Attach to a running container #當前shell下attach連接指定運行鏡像 build  Build an image from a Dockerfile #通過Dockerfile定制鏡像 commit Create a new image from a container's changes #提交當前容器為新的鏡像 cp Copy files/folders from a container to a HOSTDIR or to STDOUT #從容器中拷貝指定文件或者目錄到宿主機中 create Create a new container #創建一個新的容器,同run 但不啟動容器 diff Inspect changes on a container's filesystem #查看docker容器變化 events Get real time events from the server#從docker服務獲取容器實時事件 exec Run a command in a running container#在已存在的容器上運行命令 export Export a container's filesystem as a tar archive #導出容器的內容流作為一個tar歸檔文件(對應import) history Show the history of an image #展示一個鏡像形成歷史 images List images #列出系統當前鏡像 import Import the contents from a tarball to create a filesystem image #從tar包中的內容創建一個新的文件系統映像(對應export) info Display system-wide information #顯示系統相關信息 inspect Return low-level information on a container or image #查看容器詳細信息 kill Kill a running container #kill指定docker容器 load Load an image from a tar archive or STDIN #從一個tar包中加載一個鏡像(對應save) login Register or log in to a Docker registry#注冊或者登陸一個docker源服務器 logout Log out from a Docker registry #從當前Docker registry退出 logs Fetch the logs of a container #輸出當前容器日志信息 pause Pause all processes within a container#暫停容器 port List port mappings or a specific mapping for the CONTAINER #查看映射端口對應的容器內部源端口 ps List containers #列出容器列表 pull Pull an image or a repository from a registry #從docker鏡像源服務器拉取指定鏡像或者庫鏡像 push Push an image or a repository to a registry #推送指定鏡像或者庫鏡像至docker源服務器 rename Rename a container #重命名容器 restart Restart a running container #重啟運行的容器 rm Remove one or more containers #移除一個或者多個容器 rmi Remove one or more images #移除一個或多個鏡像(無容器使用該鏡像才可以刪除,否則需要刪除相關容器才可以繼續或者-f強制刪除) run Run a command in a new container #創建一個新的容器并運行一個命令 save Save an image(s) to a tar archive#保存一個鏡像為一個tar包(對應load) search Search the Docker Hub for images #在dockerhub中搜索鏡像 start Start one or more stopped containers#啟動容器 stats Display a live stream of container(s) resource usage statistics #統計容器使用資源 stop Stop a running container #停止容器 tag   Tag an image into a repository #給源中鏡像打標簽 top  Display the running processes of a container #查看容器中運行的進程信息 unpause Unpause all processes within a container #取消暫停容器 version Show the Docker version information#查看容器版本號 wait   Block until a container stops, then print its exit code #截取容器停止時的退出狀態值 Run 'docker COMMAND --help' for more information on a command. #運行docker命令在幫助可以獲取更多信息
docker search hello-docker # 搜索hello-docker的鏡像docker search centos # 搜索centos鏡像docker pull hello-docker # 獲取centos鏡像docker run hello-world #運行一個docker鏡像,產生一個容器實例(也可以通過鏡像id前三位運行)docker image ls # 查看本地所有鏡像docker images # 查看docker鏡像docker image rmi hello-docker # 刪除centos鏡像docker ps #列出正在運行的容器(如果創建容器中沒有進程正在運行,容器就會立即停止)docker ps -a # 列出所有運行過的容器記錄docker save centos > /opt/centos.tar.gz # 導出docker鏡像至本地docker load < /opt/centos.tar.gz #導入本地鏡像到docker鏡像庫docker stop `docker ps -aq` # 停止所有正在運行的容器docker rm `docker ps -aq` # 一次性刪除所有容器記錄docker rmi `docker images -aq` # 一次性刪除所有本地的鏡像記錄

3.1 啟動容器的兩種方式

容器是運行應用程序的,所以必須得先有一個操作系統為基礎

1. 基于鏡像新建一個容器并啟動

# 1. 后臺運行一個dockerdocker run -d centos /bin/sh -c "while true;do echo 正在運行; sleep 1;done" # -d 后臺運行容器 # /bin/sh 指定使用centos的bash解釋器 # -c 運行一段shell命令 # "while true;do echo 正在運行; sleep 1;done" 在linux后臺,每秒中打印一次正在運行docker ps # 檢查容器進程docker logs -f 容器id/名稱 # 不間斷打印容器的日志信息 docker stop centos # 停止容器# 2. 啟動一個bash終端,允許用戶進行交互docker run --name mydocker -it centos /bin/bash  # --name 給容器定義一個名稱 # -i 讓容器的標準輸入保持打開 # -t 讓Docker分配一個偽終端,并綁定到容器的標準輸入上 # /bin/bash 指定docker容器,用shell解釋器交互

當利用docker run來創建容器時,Docker在后臺運行的步驟如下:

# 1. 檢查本地是否存在指定的鏡像,不存在就從公有倉庫下載

# 2. 利用鏡像創建并啟動一個容器

# 3. 分配一個文件系統,并在只讀的鏡像層外面掛在一層可讀寫層

# 4. 從宿主主機配置的網橋接口中橋接一個虛擬接口到容器中去

# 5. 從地址池配置一個ip地址給容器

# 6. 執行用戶指定的應用程序

# 7. 執行完畢后容器被終止

2.將一個終止狀態(stopped)的容器重新啟動

[root@localhost ~]# docker ps -a # 先查詢記錄CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS      PORTS     NAMESee92fcf6f32d  centos    "/bin/bash"    4 days ago   Exited (137) 3 days ago        kickass_raman[root@localhost ~]# docker start ee9 # 再啟動這個容器ee9[root@localhost ~]# docker exec -it ee9 /bin/bash # 進入容器交互式界面[root@ee92fcf6f32d /]# # 注意看用戶名,已經變成容器用戶名

3.2提交創建自定義鏡像

# 1.我們進入交互式的centos容器中,發現沒有vim命令 docker run -it centos# 2.在當前容器中,安裝一個vim yum install -y vim# 3.安裝好vim之后,exit退出容器 exit# 4.查看剛才安裝好vim的容器記錄 docker container ls -a# 5.提交這個容器,創建新的image docker commit 059fdea031ba chaoyu/centos-vim# 6.查看鏡像文件 docker imagesREPOSITORY   TAG     IMAGE ID   CREATED    SIZEchaoyu/centos-vim latest    fd2685ae25fe  5 minutes ago  348MB

3.3外部訪問容器

容器中可以運行網絡應用,但是要讓外部也可以訪問這些應用,可以通過-p或-P參數指定端口映射。

docker run -d -P training/webapp python app.py # -P 參數會隨機映射端口到容器開放的網絡端口# 檢查映射的端口docker ps -lCONTAINER ID  IMAGE    COMMAND    CREATED   STATUS    PORTS      NAMEScfd632821d7a  training/webapp  "python app.py"  21 seconds ago  Up 20 seconds  0.0.0.0:32768->5000/tcp brave_fermi#宿主機ip:32768 映射容器的5000端口# 查看容器日志信息docker logs -f cfd # #不間斷顯示log# 也可以通過-p參數指定映射端口docker run -d -p 9000:5000 training/webapp python app.py

打開瀏覽器訪問服務器的9000端口, 內容顯示 Hello world!表示正常啟動

(如果訪問失敗的話,檢查自己的防火墻,以及云服務器的安全組)

4.0利用dockerfile定制鏡像

鏡像是容器的基礎,每次執行docker run的時候都會指定哪個鏡像作為容器運行的基礎。我們之前的例子都是使用來自docker hub的鏡像,直接使用這些鏡像只能滿足一定的需求,當鏡像無法滿足我們的需求時,就得自定制這些鏡像。

 鏡像的定制就是定制每一層所添加的配置、文件。如果可以吧每一層修改、安裝、構建、操作的命令都寫入到一個腳本,用腳本來構建、定制鏡像,這個腳本就是dockerfile。

Dockerfile 是一個文本文件,其內包含了一條條的指令(Instruction),每一條指令 構建一層,因此每一條指令的內容,就是描述該層應當如何構建。

參數詳解

FROM scratch #制作base image 基礎鏡像,盡量使用官方的image作為base imageFROM centos #使用base imageFROM ubuntu:14.04 #帶有tag的base imageLABEL version=“1.0” #容器元信息,幫助信息,Metadata,類似于代碼注釋LABEL maintainer=“yc_uuu@163.com"#對于復雜的RUN命令,避免無用的分層,多條命令用反斜線換行,合成一條命令!RUN yum update && yum install -y vim / Python-dev #反斜線換行RUN /bin/bash -c "source $HOME/.bashrc;echo $HOME”WORKDIR /root #相當于linux的cd命令,改變目錄,盡量使用絕對路徑?。?!不要用RUN cdWORKDIR /test # 如果沒有就自動創建WORKDIR demo # 再進入demo文件夾RUN pwd  # 打印結果應該是/test/demoADD and COPY ADD hello / # 把本地文件添加到鏡像中,吧本地的hello可執行文件拷貝到鏡像的/目錄ADD test.tar.gz / # 添加到根目錄并解壓WORKDIR /rootADD hello test/ # 進入/root/ 添加hello可執行命令到test目錄下,也就是/root/test/hello 一個絕對路徑COPY hello test/ # 等同于上述ADD效果ADD與COPY - 優先使用COPY命令 -ADD除了COPY功能還有解壓功能添加遠程文件/目錄使用curl或wgetENV # 環境變量,盡可能使用ENV增加可維護性ENV MYSQL_VERSION 5.6 # 設置一個mysql常量RUN yum install -y mysql-server=“${MYSQL_VERSION}” 

進階只是(了解)

VOLUME and EXPOSE 
存儲和網絡

RUN and CMD and ENTRYPOINT
RUN:執行命令并創建新的Image Layer
CMD:設置容器啟動后默認執行的命令和參數
ENTRYPOINT:設置容器啟動時運行的命令

Shell格式和Exec格式
RUN yum install -y vim
CMD echo ”hello docker”
ENTRYPOINT echo “hello docker”

Exec格式
RUN [“apt-get”,”install”,”-y”,”vim”]
CMD [“/bin/echo”,”hello docker”]
ENTRYPOINT [“/bin/echo”,”hello docker”]


通過shell格式去運行命令,會讀取$name指令,而exec格式是僅僅的執行一個命令,而不是shell指令
cat Dockerfile
FROM centos
ENV name Docker
ENTRYPOINT [“/bin/echo”,”hello $name”]#這個僅僅是執行echo命令,讀取不了shell變量
ENTRYPOINT [“/bin/bash”,”-c”,”echo hello $name"]

CMD
容器啟動時默認執行的命令
如果docker run指定了其他命令(docker run -it [image] /bin/bash ),CMD命令被忽略
如果定義多個CMD,只有最后一個執行

ENTRYPOINT
讓容器以應用程序或服務形式運行
不會被忽略,一定會執行
最佳實踐:寫一個shell腳本作為entrypoint
COPY docker-entrypoint.sh /usr/local/bin
ENTRYPOINT [“docker-entrypoint.sh]
EXPOSE 27017
CMD [“mongod”]

[root@master home]# more Dockerfile
FROm centos
ENV name Docker
#CMD ["/bin/bash","-c","echo hello $name"]
ENTRYPOINT ["/bin/bash","-c","echo hello $name”]

5.0發布到倉庫

1,docker hub共有鏡像發布

docker提供了一個類似于github的倉庫docker hub,

官方網站(需注冊使用)

# 注冊docker id后,在linux中登錄dockerhub docker login# 注意要保證image的tag是賬戶名,如果鏡像名字不對,需要改一下tag docker tag chaoyu/centos-vim peng104/centos-vim # 語法是: docker tag 倉庫名 peng104/倉庫名# 推送docker image到dockerhub docker push peng104/centps-cmd-exec:latest# 去dockerhub中檢查鏡像# 先刪除本地鏡像,然后再測試下載pull 鏡像文件 docker pull peng104/centos-entrypoint-exec

2,私有倉庫

docker hub 是公開的,其他人也是可以下載,并不安全,因此還可以使用docker registry官方提供的私有倉庫

用法詳解點我

# 1.下載一個docker官方私有倉庫鏡像 docker pull registry# 2.運行一個docker私有容器倉庫docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry -d 后臺運行  -p 端口映射 宿主機的5000:容器內的5000 -v 數據卷掛載 宿主機的 /opt/data/registry :/var/lib/registry  registry 鏡像名 /var/lib/registry 存放私有倉庫位置# Docker 默認不允許非 HTTPS 方式推送鏡像。我們可以通過 Docker 的配置選項來取消這個限制# 3.修改docker的配置文件,讓他支持http方式,上傳私有鏡像 vim /etc/docker/daemon.json  # 寫入如下內容 {  "registry-mirrors": ["http://f1361db2.m.daocloud.io"],  "insecure-registries":["192.168.11.37:5000"] }# 4.修改docker的服務配置文件 vim /lib/systemd/system/docker.service# 找到[service]這一代碼區域塊,寫入如下參數 [Service] EnvironmentFile=-/etc/docker/daemon.json# 5.重新加載docker服務 systemctl daemon-reload# 6.重啟docker服務 systemctl restart docker # 注意:重啟docker服務,所有的容器都會掛掉# 7.修改本地鏡像的tag標記,往自己的私有倉庫推送 docker tag docker.io/peng104/hello-world-docker 192.168.11.37:5000/peng-hello # 瀏覽器訪問http://192.168.119.10:5000/v2/_catalog查看倉庫# 8.下載私有倉庫的鏡像 docker pull 192.168.11.37:5000/peng-hello

6.0實例演示

編寫dockerfile,構建自己的鏡像,運行flask程序。

確保app.py和dockerfile在同一個目錄!

# 1.準備好app.py的flask程序 [root@localhost ~]# cat app.py from flask import Flask app=Flask(__name__) @app.route('/') def hello():  return "hello docker" if __name__=="__main__":  app.run(host='0.0.0.0',port=8080) [root@master home]# ls app.py Dockerfile# 2.編寫dockerfile [root@localhost ~]# cat Dockerfile FROM python:2.7 LABEL maintainer="溫而新" RUN pip install flask COPY app.py /app/ WORKDIR /app EXPOSE 8080 CMD ["python","app.py"]# 3.構建鏡像image,找到當前目錄的Dockerfile,開始構建 docker build -t peng104/flask-hello-docker .# 4.查看創建好的images docker image ls# 5.啟動此flask-hello-docker容器,映射一個端口供外部訪問 docker run -d -p 8080:8080 peng104/flask-hello-docker# 6.檢查運行的容器 docker container ls# 7.推送這個鏡像到私有倉庫 docker tag peng104/flask-hello-docker 192.168.11.37:5000/peng-flaskweb docker push 192.168.11.37:5000/peng-flaskweb

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品久久久久久国产| 亚洲综合在线播放| 久久国产精品久久久久| 日韩欧美成人免费视频| 91国内揄拍国内精品对白| 69**夜色精品国产69乱| 精品欧美一区二区三区| 97在线看免费观看视频在线观看| 亚洲精品女av网站| 久久久久久亚洲精品| 欧美巨乳美女视频| 亚洲欧美国产高清va在线播| 九九精品在线播放| 久久精品91久久香蕉加勒比| 国产在线观看91精品一区| 久久久久成人精品| 91a在线视频| 91网站在线看| 国产成人精品日本亚洲专区61| 亚洲第一色中文字幕| 色播久久人人爽人人爽人人片视av| 国产日韩精品在线观看| 国产精品第一第二| 97国产精品免费视频| 91美女片黄在线观| 国产日韩在线精品av| 最新国产精品拍自在线播放| 精品国产一区二区三区久久狼5月| 91精品国产精品| 欧美久久精品午夜青青大伊人| 亚洲欧美中文日韩在线| 色妞色视频一区二区三区四区| 国产精品久久久久久五月尺| 欧美另类高清videos| 日本久久亚洲电影| 亚洲第一区第一页| 不卡在线观看电视剧完整版| 久久精品久久久久久国产 免费| 国产精品一区二区三区成人| 精品久久久久久久中文字幕| 亚洲人在线观看| 久久久国产精品x99av| 欧美激情女人20p| 欧美性受xxx| 亚洲国产欧美一区二区三区同亚洲| 国产成人精品电影| 久久综合伊人77777尤物| 精品欧美国产一区二区三区| 久久综合久久88| 国产成人拍精品视频午夜网站| 亚洲美女精品久久| 国产在线播放不卡| 欧美国产第二页| 久热国产精品视频| 91香蕉嫩草神马影院在线观看| 精品久久久久久中文字幕大豆网| 成人激情免费在线| 久久久久久久色| 国产欧美一区二区白浆黑人| 国产精品美女主播在线观看纯欲| 成人黄色中文字幕| 欧美国产高跟鞋裸体秀xxxhd| 伊人久久久久久久久久| 亚洲第一福利网站| 久久视频精品在线| 国产精品午夜一区二区欲梦| 色婷婷综合久久久久中文字幕1| 亚洲日本aⅴ片在线观看香蕉| 主播福利视频一区| 国产精品狼人色视频一区| 欧美精品在线网站| 日韩精品久久久久| 亚洲视频在线观看网站| 日韩av色在线| 欧美高清videos高潮hd| 亚洲国产成人爱av在线播放| 欧美在线视频播放| 国产精品视频精品| 亚洲欧美在线免费观看| 国产高清在线不卡| 91久久夜色精品国产网站| 国产精品爽爽爽爽爽爽在线观看| 亚洲丁香婷深爱综合| 亚洲图片欧美午夜| 日韩经典中文字幕| 欧美一区二区三区四区在线| 欧美激情亚洲一区| 国产精品第10页| 成人久久一区二区| 久久久精品中文字幕| 日韩免费中文字幕| 色中色综合影院手机版在线观看| 国产精品一区二区3区| 亚洲精品成人网| 国产精品xxx视频| 国产精品久久久久77777| 精品国偷自产在线视频99| 亚洲一区二区三区在线免费观看| 久久人人看视频| 性欧美办公室18xxxxhd| 97视频在线看| 国产精品美女主播| 欧美成人午夜视频| 色av中文字幕一区| 欧美一区视频在线| 国产成人综合精品在线| 亚洲午夜国产成人av电影男同| 中文字幕精品国产| 亚洲毛片在线免费观看| 国产精品劲爆视频| 91精品久久久久久久久久入口| 欧美激情久久久久久| 欧美亚洲日本网站| 久久九九全国免费精品观看| 日韩色av导航| 中文字幕亚洲一区二区三区五十路| 91美女片黄在线观| 91av在线精品| 一本色道久久88综合日韩精品| 久久人人看视频| 亚洲精品videossex少妇| 欧美一级片免费在线| 日韩在线视频二区| 亚洲人成电影网站色www| 久久久精品国产一区二区| 欧美剧在线观看| 亚洲国产天堂久久综合| 国产极品精品在线观看| 欧美第一黄色网| 欧美黑人巨大精品一区二区| 久久久国产一区二区三区| 欧美做受高潮电影o| 欧美国产视频一区二区| 国产99久久精品一区二区| 伊人久久综合97精品| 国产精品日韩在线一区| 国产日韩在线一区| 国产成人高清激情视频在线观看| 国内精久久久久久久久久人| 亚洲午夜av久久乱码| 欧美日韩亚洲系列| 中文字幕一区二区精品| 俺也去精品视频在线观看| 亚洲成人激情在线观看| 91精品国产色综合久久不卡98口| 国产精品亚洲第一区| 亚洲欧美综合区自拍另类| 亚洲精品国产suv| 日韩精品在线电影| 亚洲少妇中文在线| 国产亚洲精品一区二区| 狠狠做深爱婷婷久久综合一区| 欧美综合国产精品久久丁香| 97在线免费观看视频| 日韩电影网在线| 国产丝袜一区视频在线观看| 久久精品国产一区二区电影| 成人亚洲欧美一区二区三区| 国产精品精品一区二区三区午夜版| 欧美日韩在线观看视频| 尤物九九久久国产精品的特点| 欧美香蕉大胸在线视频观看| 人体精品一二三区| 国产日韩精品在线观看|