午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > 手把手教你實現(xiàn)Docker 部署 vue 項目

手把手教你實現(xiàn)Docker 部署 vue 項目

熱門標簽:淘寶辦理400電話是多少 網(wǎng)絡電話外呼系統(tǒng)開發(fā) 福州語音電銷機器人招商 滴滴急救中心地圖標注 北海智能電銷機器人公司 艾澤拉斯地圖標注 外呼線路隨意切換嗎 菏澤自動電銷機器人公司 申請400電話收費標

1.寫在前面:

Docker 作為輕量級虛擬化技術(shù),擁有持續(xù)集成、版本控制、可移植性、隔離性和安全性等優(yōu)勢。本文使用Docker來部署一個vue的前端應用,并盡可能詳盡的介紹了實現(xiàn)思路和具體步驟,以方便有類似需要的同學參考。

Docker 是一個開源的應用容器引擎,讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的容器中,該容器包含了應用程序的代碼、運行環(huán)境、依賴庫、配置文件等必需的資源,通過容器就可以實現(xiàn)方便快速并且與平臺解耦的自動化部署方式,無論你部署時的環(huán)境如何,容器中的應用程序都會運行在同一種環(huán)境下。(更多詳情請移步docker官網(wǎng)查看docker)

默認已經(jīng)安裝了 docker,@vue/cli

相關版本:

  • Docker version 18.09.2, build 6247962
  • vue cli --version 3.3.0
  • macOS Mojave Verison 10.14.1

運行環(huán)境為macOS,如果與閱讀者操作系統(tǒng)之間存在差異,請自行調(diào)整

相關鏡像:

  • nginx:latest
  • node:latest

2.具體實現(xiàn):

  • 用 vue cli 創(chuàng)建一個vue項目,修改一下創(chuàng)建出來的項目,在頁面上寫一個前端接口請求,構(gòu)建一版線上資源 ,基于nginx docker鏡像構(gòu)建成一個前端工程鏡像,然后基于這個前端工程鏡像,啟動一個容器 vuenginxcontainer。
  • 啟動一個基于 node 鏡像的容器 nodewebserver,提供后端接口。
  • 修改 vuenginxcontainer 的 nginx 配置,使前端頁面的接口請求轉(zhuǎn)發(fā)到 nodewebserver 上。
  • 稍作優(yōu)化和改進。

3 創(chuàng)建 vue 應用

3.1 vue cli 創(chuàng)建一個vue項目

運行命令

yarn serve / npm run serve

訪問 http://localhost:8081

3.2 改寫

稍微改寫一下頁面,在App.vue中 傳入HelloWorld 組件中的 msg 改為Hello Docker ; created 生命周期中加入一個接口請求

import axios from 'axios';

……

axios.get('/api/json', {
 params: {}
}).then(
 res => {
 console.log(res);
 }
).catch(
 error => {
  console.log(error);
 }
)

……

這時候會在頁面控制臺看到一個報錯信息:

/api/json 接口 404,當然此時這個接口還不存在,暫時寫到這里,一會再調(diào)這個接口。

3.3 構(gòu)建vue項目

運行命令

yarn build / npm run build

此時工程根目錄下多出一個 dist

文件夾

如果將該dist目錄整個傳到服務器上,部署成靜態(tài)資源站點就能直接訪問到該項目。

接下來就來構(gòu)建一個這樣的靜態(tài)資源站點。

4 構(gòu)建vue應用鏡像

nginx 是一個高性能的HTTP和反向代理服務器,此處我們選用 nginx 鏡像作為基礎來構(gòu)建我們的vue應用鏡像。

4.1 獲取 nginx 鏡像

docker pull nginx
  • docker 鏡像(Image)一個特殊的文件系統(tǒng)。Docker鏡像是一個特殊的文件系統(tǒng),除了提供容器運行時所需的程序、庫、資源、配置等文件外,還包含了一些為運行時準備的一些配置參數(shù)(如匿名卷、環(huán)境變量、用戶等)。 鏡像不包含任何動態(tài)數(shù)據(jù),其內(nèi)容在構(gòu)建之后也不會被改變。
  • docker 鏡像相關操作有: 搜索鏡像 docker search [REPOSITORY[:TAG]] 、拉取鏡像 docker pull [REPOSITORY[:TAG]] 、查看鏡像列表 docker image ls 、刪除鏡像: docker image rm [REPOSITORY[:TAG]] / docker rmi [REPOSITORY[:TAG]] 等等。
  • docker 鏡像名稱由REPOSITORY和TAG組成 [REPOSITORY[:TAG]] ,TAG默認為latest

4.2 創(chuàng)建 nginx config配置文件

在項目根目錄下創(chuàng)建 nginx 文件夾,該文件夾下新建文件 default.conf

server {
 listen  80;
 server_name localhost;

 #charset koi8-r;
 access_log /var/log/nginx/host.access.log main;
 error_log /var/log/nginx/error.log error;

 location / {
  root /usr/share/nginx/html;
  index index.html index.htm;
 }

 #error_page 404    /404.html;

 # redirect server error pages to the static page /50x.html
 #
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
  root /usr/share/nginx/html;
 }
}

該配置文件定義了首頁的指向為 /usr/share/nginx/html/index.html , 所以我們可以一會把構(gòu)建出來的index.html文件和相關的靜態(tài)資源放到 /usr/share/nginx/html 目錄下。

4.3 創(chuàng)建 Dockerfile 文件

FROM nginx
COPY dist/ /usr/share/nginx/html/
COPY nginx/default.conf /etc/nginx/conf.d/default.conf
  • 自定義構(gòu)建鏡像的時候基于Dockerfile來構(gòu)建。
  • FROM nginx 命令的意思該鏡像是基于 nginx:latest 鏡像而構(gòu)建的。
  • COPY dist/ /usr/share/nginx/html/ 命令的意思是將項目根目錄下dist文件夾下的所有文件復制到鏡像中 /usr/share/nginx/html/ 目錄下。
  • COPY nginx/default.conf /etc/nginx/conf.d/default.conf 命令的意思是將nginx目錄下的default.conf 復制到 etc/nginx/conf.d/default.conf,用本地的 default.conf 配置來替換nginx鏡像里的默認配置。

4.4 基于該Dockerfile構(gòu)建vue應用鏡像

運行命令(注意不要少了最后的 “.” )

docker build -t vuenginxcontainer .

-t 是給鏡像命名 . 是基于當前目錄的Dockerfile來構(gòu)建鏡像

查看本地鏡像,運行命令

docker image ls | grep vuenginxcontainer

到此時我們的 vue 應用鏡像 vuenginxcontainer 已經(jīng)成功創(chuàng)建。接下來,我們基于該鏡像啟動一個 docker

容器。

4.5 啟動 vue app 容器

Docker 容器Container: 鏡像運行時的實體。鏡像(Image)和容器(Container)的關系,就像是面向?qū)ο蟪绦蛟O計中的類和實例一樣,鏡像是靜態(tài)的定義,容器是鏡像運行時的實體。容器可以被創(chuàng)建、啟動、停止、刪除、暫停等 。

基于 vuenginxcontainer 鏡像啟動容器,運行命令:

docker run \

-p 3000:80 \

-d --name vueApp \

vuenginxcontainer

docker run 基于鏡像啟動一個容器
-p 3000:80 端口映射,將宿主的3000端口映射到容器的80端口
-d 后臺方式運行
--name 容器名 查看 docker 進程

docker ps

可以發(fā)現(xiàn)名為 vueApp的容器已經(jīng)運行起來。此時訪問 http://localhost:3000

應該就能訪問到該vue應用:

目前為止,已經(jīng)通過 docker容器部署了一個靜態(tài)資源服務,可以訪問到靜態(tài)資源文件。還有 /api/json這個接口數(shù)據(jù)沒有,接下來我們來解決一下這個問題。

5 接口服務

再部署一個 node 的容器來提供接口服務

5.1 express 服務

用 node web 框架 express 來寫一個服務,注冊一個返回json數(shù)據(jù)格式的路由 server.js:

'use strict';

const express = require('express');

const PORT = 8080;
const HOST = '0.0.0.0';

const app = express();
app.get('/', (req, res) => {
 res.send('Hello world\n');
});

app.get('/json', (req, res) => {
 res.json({
  code: 0,
  data :'This is message from node container'
 })
});

app.listen(PORT, HOST);
console.log(`Running on http://${HOST}:${PORT}`);

運行該 express 應用需要 node 環(huán)境,我們基于 node 鏡像來構(gòu)建一個新鏡像

5.2 獲取 node 鏡像

docker pull node

5.3 編寫 Dockerfile 將 express 應用 docker

FROM node

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 8080
CMD [ "npm", "start" ]

構(gòu)建鏡像的時候 node_modules 的依賴直接通過 RUN npm install 來安裝,項目中創(chuàng)建一個 .dockerignore 文件來忽略一些直接跳過的文件:

node_modules
npm-debug.log

5.4 構(gòu)建 nodewebserver 鏡像

運行構(gòu)建命令:

 docker build -t nodewebserver .

5.5 啟動 nodeserver 容器

基于剛剛構(gòu)建的 nodewebserver 鏡像 啟動一個名為 nodeserver 的容器來提供接口服務8080端口,并映射宿主的5000端口

docker run \

-p 5000:8080 \

-d --name nodeserver \

nodewebserver

查看當前docker進程

docker ps

可以發(fā)現(xiàn) nodeserver 的容器也正常的運行起來。訪問以下 http://localhost:5000/json

能訪問到前面寫的json數(shù)據(jù)

到目前為止,后端接口服務也正常啟動了。只需最后把頁面請求的接口轉(zhuǎn)發(fā)到后端接口服務就能調(diào)通接口。

6. 跨域轉(zhuǎn)發(fā)

想要將 vueApp 容器 上的請求轉(zhuǎn)發(fā)到 nodeserver 容器上。首先需要知道 nodeserver 容器的 ip 地址和端口,目前已知 nodeserver 容器內(nèi)部服務監(jiān)聽在 8080 端口,還需要知道 ip 即可。

6.1 查看 nodeserver 容器的 ip 地址:

查看容器內(nèi)部 ip 有多種方式,這里提供兩種:

進入容器內(nèi)部查看

docker exect -it 02277acc3efc bash
cat /etc/hosts

docker inspect [ containerId ] 直接查看容器信息:

docker inspect 02277acc3efc

在其中找到 Networks 相關配置信息:

記錄下node服務容器對應的ip,一會兒配置nginx轉(zhuǎn)發(fā)的時候會用到。

6.2 修改 nginx 配置

Nginx 配置 location 指向 node 服務 default.conf (前端想要了解的Nginx,關于Nginx的配置已經(jīng) location 的具體寫法可以參考(一文弄懂Nginx的location匹配 ))

添加一條重寫規(guī)則,將 /api/{path} 轉(zhuǎn)到目標服務的 /{path} 接口上。 在前面的nginx/default.conf文件中加入:

location /api/ {
 rewrite /api/(.*) /$1 break;
 proxy_pass http://172.17.0.2:8080;
}

修改完了之后意識到一個問題:vueApp 容器是基于 vuenginxcontainer 這個鏡像運行的,而在一開始構(gòu)建鏡像的時候是將 nginx配置 default.conf 直接構(gòu)建進去了。因此如果需要修改 default.conf 還得再重新構(gòu)建一個新的鏡像,再基于新鏡像來運行新的容器。

7. 改進

能不能每次修改配置文件后直接重啟容器就能讓新配置生效,答案當然是有。

在構(gòu)建鏡像的時候 不把 Nginx 配置復制到鏡像中,而是直接掛載到宿主機上,每次修改配置后,直接重啟容器即可。

7.1 修改 Dockerfile 文件

把 vueclidemo 項目下的 Dockerfile 修改一下

FROM nginx
COPY dist/ /usr/share/nginx/html/
COPY nginx/default.conf /etc/nginx/conf.d/default.conf

COPY nginx/default.conf /etc/nginx/conf.d/default.conf 命令刪除,nginx配置都通過掛載命令掛載在宿主機上。再看 COPY dist/ /usr/share/nginx/html/ 命令,如果每次構(gòu)建的項目dist/下的內(nèi)容變動都需要重新走一遍構(gòu)建新鏡像再啟動新容器的操作,因此這條命令也可以刪除,使用掛載的方式來啟動容器。

7.2 重新運行vue應用容器

直接基于nginx鏡像來啟動容器 vuenginxnew ,運行命令:

docker run \

-p 3000:80 \

-d --name vuenginxnew \

--mount type=bind,source=$HOME/SelfWork/docker/vueclidemo/nginx,target=/etc/nginx/conf.d \

--mount type=bind,source=$HOME/SelfWork/docker/vueclidemo/dist,target=/usr/share/nginx/html \

nginx
  • --mount type=bind,source={sourceDir},target={targetDir} 將宿主機的sourceDir 掛載到容器的 targetDir 目錄上。
  • 此處運行的命令較長,如果每次重新輸入難免麻煩,我們可以將完整的命令保存到一個 shell 文件 vueapp.sh 中,然后直接執(zhí)行 sh vueapp.sh 。

這樣就能每次修改了nginx配置或者 重新構(gòu)建了vue應用的時候,只需重啟容器就能立馬生效。 此時我們再訪問 http://localhost:3000/api/json 能看到接口能正常返回,說明轉(zhuǎn)發(fā)生效了。

至此接口服務的轉(zhuǎn)發(fā)也調(diào)通了。

7.3 配置負載均衡

后端服務一般都是雙機或者多機以確保服務的穩(wěn)定性。我們可以再啟動一個后端服務容器,并修改 nginx 的配置 來優(yōu)化資源利用率,最大化吞吐量,減少延遲,確保容錯配置。

基于前面 4.5 節(jié)的類似操作,新啟動一個容器,并基于 5.1 節(jié)類似的操作,查看到 新容器的 IP (172.17.0.3)

修改一下 nginx/default.conf (新增 upstream ,修改 location /api/ 中的 proxy_pass):

 upstream backend {
  server 172.17.0.2:8080;
  server 172.17.0.3:8080;
 }

 ……

 location /api/ {
  rewrite /api/(.*) /$1 break;
  proxy_pass backend;
 }

8. 寫在后面

不習慣命令行的同學可以選用Kitematic 來管理 docker 容器的狀態(tài)、數(shù)據(jù)目錄和網(wǎng)絡。所有對容量的操作都可以可視化的操作,這里就不做過多介紹了,有興趣的同學可以自行體驗下。

9 總結(jié)

docker提供了非常強大的自動化部署方式與靈活性,對多個應用程序之間做到了解耦,提供了開發(fā)上的敏捷性、可控性以及可移植性。本文以vue項目為例實現(xiàn)一個前后分離項目使用docker部署的完整步驟,希望能給想要擁抱 docker 的同學帶來一點幫助。

參考資源

docker 官網(wǎng)
nginx 官網(wǎng)
docker 從入門到實踐
Kitematic user guide
前端想要了解的Nginx
一文弄懂Nginx的location匹配

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:滄州 亳州 三沙 延安 資陽 混顯 賀州 丹東

巨人網(wǎng)絡通訊聲明:本文標題《手把手教你實現(xiàn)Docker 部署 vue 項目》,本文關鍵詞  手把手,教你,實現(xiàn),Docker,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關。
  • 相關文章
  • 下面列出與本文章《手把手教你實現(xiàn)Docker 部署 vue 項目》相關的同類信息!
  • 本頁收集關于手把手教你實現(xiàn)Docker 部署 vue 項目的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    久久综合久久久久88| 亚洲成人中文字幕| 国产不卡在线播放| 中文字幕乱码在线观看| 亚洲精品乱码久久久久久蜜桃图片| 黄色网址在线免费看| 国产精品自拍偷拍视频| 最好看的2019年中文视频| 欧美私模裸体表演在线观看| 日本一区二区三区免费乱视频 | www.日韩av| a在线观看免费| 九九视频在线观看| 天天插天天射天天干| 成年网站在线免费观看| 日本在线一区| 国产精品久久99久久| 精品国模在线视频| 日韩一区二区三区在线视频| 亚洲国产日韩a在线播放性色| 播五月开心婷婷综合| 久久欧美肥婆一二区| 艳妇乳肉豪妇荡乳av无码福利| 久久精品三级视频| wwwxxxx在线观看| www国产精品内射老熟女| 日本一区二区三区精品视频| 成人做爰www免费看视频网站| 日韩一区二区在线视频| 精品国产91亚洲一区二区三区婷婷| 欧美日韩性生活视频| 国产精品素人一区二区| 国产白丝网站精品污在线入口| 色婷婷激情五月| 在线视频精品免费| 精品少妇爆乳无码av无码专区| 国产精品久久久免费观看| 爱情岛论坛亚洲首页入口章节| 超碰10000| 欧洲精品久久| 91久久伊人青青碰碰婷婷| 欧美在线视频网| 欧美老少配视频| 在线观看日本黄色| 国产精品伦理一区| 99精品久久只有精品| 亚洲第一精品福利| 日韩av电影国产| 日日噜噜噜夜夜爽爽| 欧美bbbbb性bbbbb视频| 亚洲欧美日韩精品永久在线| 另类小说综合网| 国产精品久久久久久影视| 欧美大秀在线观看| 中文字幕视频一区二区在线有码 | 成人黄色一区二区| 亚洲精品蜜桃久久久久久| 亚洲精品电影在线一区| 精品一区2区三区| 91影院未满十八岁禁止入内| 国产欧美一区二区白浆黑人| 日本高清不卡的在线| 久久久久久久一| 久久国产色av| 精品国产自在精品国产浪潮| 亚洲最新在线视频| 亚洲精品网站在线播放gif| 精品久久久久久久久久久久包黑料 | 久久久无码人妻精品无码| 日本xxxx黄色| 手机看片福利日韩| www日韩在线观看| 国产乱淫av片杨贵妃| 中文网丁香综合网| 中文字幕成人一区| 国产91av视频在线观看| 视频一区三区| 亚洲不卡1区| 亚洲高清在线播放| 亚洲一区二区三区乱码| 亚洲一区二区三区乱码| 免费观看黄色大片| 国产精品一二三在线观看| 经典三级在线视频| 国产又爽又黄ai换脸| 成人性做爰片免费视频| 黄色网络在线观看| 国产中文字幕二区| 妞干网在线免费视频| 成人亚洲视频在线观看| www.精品在线| 亚洲成人激情小说| 黄色网址在线视频| 男人天堂av电影| 日本免费www| 欧美 日韩 国产 一区二区三区| 亚洲综合图片一区| 中文字幕手机在线观看| 久久99久久久| 黄色一级视频免费看| 一本久久精品一区二区| 国产午夜精品久久久久久久| 欧美在线激情网| 久久久久人妻一区精品色欧美| 欧美丝袜自拍制服另类| 超薄肉色丝袜一二三| 日韩电视剧在线观看免费网站| 中文字幕一区2区3区| 国产伦理一区二区三区| 91蜜桃视频在线| 久久亚洲高清| 麻豆成人免费电影| 91av免费看| 日本高清视频www| 国产精品香蕉国产| 日韩网红少妇无码视频香港| 91激情在线视频| 欧美高清中文字幕| 日本高清无吗v一区| 懂色av.com| 中文在线不卡视频| 国产又粗又猛又爽又黄的视频四季 | 神马午夜一区二区| 日韩免费视频在线观看| 黄色免费一级视频| 久久久噜久噜久久综合| 国产在线播放一区二区三区| 亚洲春色综合另类校园电影| 国产精品久久午夜夜伦鲁鲁| 在线 丝袜 欧美 日韩 制服| 97久久久久久| 成人动漫一区二区三区| 女人另类性混交zo| 青青草精品视频| 亚洲日本欧美在线| 亚洲人成网站色在线观看| 好吊妞无缓冲视频观看| 一本色道久久综合亚洲91| 亚洲一二三不卡| 亚洲丝袜另类动漫二区| 六月婷婷在线视频| 国产欧美日韩在线看| www.69av| 国产成人精品aa毛片| 国产精品对白刺激久久久| 亚洲精品午夜久久久| 黄色免费一级视频| 久久精品99久久香蕉国产色戒| 国产小视频在线观看免费| 欧美成人伊人久久综合网| ass极品水嫩小美女ass| 91精品国产全国免费观看| 国产乱码久久久| 最新中文字幕免费视频| 97国产在线视频| 国产精品免费av| 美国黄色小视频| 精品视频在线观看| 色综合天天综合色综合av| 人妻视频一区二区| 中文字幕日韩免费视频| 国产日韩久久久| 成人做爰66片免费看网站| 国产亚洲精品超碰| 在线免费视频a| 黄色一区二区在线| 一边摸一边做爽的视频17国产| 欧美激情xxxx| 99久久久精品免费观看国产蜜| 国产精品丝袜久久久久久消防器材| 欧美日韩aaaaa| 久一视频在线观看| 欧洲人成人精品| 无码无套少妇毛多18pxxxx| 草莓视频一区| 亚洲国产一区二区视频| 久久久久亚洲天堂| 福利精品视频| 国产日韩欧美精品在线| 日本精品免费在线观看| 在线91免费看| 99国产精品久久久久久| 在线观看免费视频综合| www.中文字幕av | xfplay精品久久| 青青草原在线免费观看| 免费国产在线精品一区二区三区| 国产精品久久久久久久裸模| 99re久久精品国产| 久久中文字幕视频| 在线免费看av片| 日韩中文字幕亚洲精品欧美| 91黄色小视频| 黄色aaa毛片| 免费看裸体网站| 亚洲一区二区三区在线观看视频| 亚洲欧洲在线看| 专区另类欧美日韩| 青娱乐在线免费视频| 青青在线视频观看| 欧美成人精品激情在线观看| 另类人妖一区二区av| 日韩一二区视频| 欧美成人一区二区| 午夜性色福利影院| 免费精品99久久国产综合精品应用| 日韩av有码在线| 黄色成人一级片| 50度灰在线观看| 亚洲日韩欧美视频一区| 一级中文字幕一区二区| 国产精品久久777777换脸| 丁香啪啪综合成人亚洲| 久久精品久久久久| 久久久久久久久99精品| 日韩中文字幕在线免费| 欧美日韩高清影院| 久久成人精品无人区| 午夜一区二区三区免费| 亚洲第一导航| 国产精品私拍pans大尺度在线 | 91社区在线播放| 午夜免费福利视频| 三年中国中文观看免费播放| 色狠狠久久av五月综合|| 日韩午夜激情av| 国产 日韩 欧美 综合| 国产毛片视频网站| 一本一本久久a久久精品综合小说| 日产国产高清一区二区三区| 中国黄色片视频| 色av中文字幕一区| 国产一区二区精品在线观看| 亚洲一二三四视频| 野外做受又硬又粗又大视频√| 97在线观看免费高清| 中文字幕日韩一区| 精品国产黄色片| 亚洲成人av免费观看| 精品国产露脸精彩对白| 韩国成人在线视频| 鲁丝一区二区三区| 欧洲黄色一级视频| 51国偷自产一区二区三区| 麻豆成人在线看| 亚洲精品网站在线播放gif| 91激情在线视频| 亚洲国产精华液网站w | 欧美成人中文字幕| 欧美视频一区在线观看| 国产精品一级二级| 精品一区二区三区四区五区六区| 国产精品免费久久久久影院| 欧美日韩免费不卡视频一区二区三区 | 无码aⅴ精品一区二区三区浪潮 | 在线视频欧美精品| 精品国产亚洲一区二区麻豆| 久久久精品在线| 亚洲午夜久久久久久久久电影网 | 91在线中文字幕| 亚洲女人的天堂| 日本一区二区不卡在线| a级黄色片免费| 欧美剧在线观看| 国产精品久久久久久久久果冻传媒| 天天干天天舔天天操| 日本中文不卡| 2018国产精品视频| 日韩欧美国产一区二区三区| 国产精品初高中害羞小美女文| 男人天堂综合网| 欧美日韩中文视频| 精品一区二区三区无码视频| 久久激情五月丁香伊人| 亚洲欧洲av在线| 午夜小视频在线播放| 青青操免费在线视频| 日韩一级视频在线观看| 9色视频在线观看| 欧美精品第一页在线播放| 国产日韩欧美综合一区| 日产亚洲一区二区三区| 色噜噜在线观看| 浓精h攵女乱爱av| 久久精品一二三区| 亚洲精品一区二区在线| 中文字幕二三区不卡| 韩日av一区二区| 成年人av电影| 蜜桃麻豆91| 国精产品一区一区三区有限在线| 欧美性猛交xxxx黑人交| 26uuu欧美| 国产精品18久久久久久久久久久久| 成人福利小视频| www.久久精品视频| 可以免费观看av毛片| 国产精品丝袜久久久久久高清| 亚洲欧美中文另类| 亚洲精品成人悠悠色影视| 亚洲成人第一区| 精品一区在线视频| aaaaaaaa毛片| 亚洲综合自拍一区| 亚洲精品成人久久久| 欧美国产在线观看| 六月丁香综合网| 潮喷失禁大喷水aⅴ无码| 久草资源站在线观看| 久久精品人成| 91精品久久久久久久久中文字幕 | 中文字幕中文字幕一区| 亚洲午夜激情视频| 日本理论中文字幕| 永久域名在线精品| 成人av电影天堂| 成人免费视频观看视频| 国产啪精品视频| 国产精品亚洲аv天堂网| 成人午夜电影免费在线观看| 久久精品国产69国产精品亚洲| 日韩一区二区不卡| 欧美日韩在线一区| 久久亚洲免费视频| 人禽交欧美网站| www.黄色小说.com| 日韩精品一卡二卡| 天堂а√在线中文在线新版| 日韩综合第一页| 久青草视频在线播放| 国产区二精品视| 欧美亚洲在线视频| 亚洲偷欧美偷国内偷| 欧美日韩国产影片| 亚洲人妖av一区二区| 国产精品成人一区二区三区夜夜夜| 久久综合色一综合色88| 精品在线你懂的| 一级片aaaa| 国产原创视频在线| 天天综合天天干| 天天操夜夜操av| 91麻豆国产在线| 免费日本视频一区| xnxx国产精品| 色综合久久久久网| 中文字幕亚洲欧美| 久久久成人的性感天堂| 2019中文在线观看| 97超碰蝌蚪网人人做人人爽| 91精品国产自产91精品| 欧美激情第1页| 欧美激情高清视频| 97av视频在线| 国产精品久久久久久久久久新婚| 日韩av色综合| 成人看片人aa| 日韩色妇久久av| 亚洲mv在线看| 国产精品国产三级欧美二区| 国产精品欧美久久久| 韩国日本不卡在线| 精品少妇一区二区30p| 中文字幕9999| 中文字幕一区日韩电影| 欧美成人中文字幕在线| 欧美一级淫片丝袜脚交| 999热视频在线观看| 国产精品91在线观看| 国产日韩欧美成人| 性欧美大战久久久久久久免费观看| 国产美女久久久| 久久久影院一区二区三区| 激情综合网俺也去| 久久99久久久| 经典三级在线一区| 亚洲爱情岛论坛永久| 国产精品久久久久久久久免费相片| 亚洲福利视频在线| 成人精品网站在线观看| 欧美大片免费播放| 污污内射在线观看一区二区少妇| 中文国语毛片高清视频| 久久伊人成人网| 成人免费毛片男人用品| 精品人妻午夜一区二区三区四区 | 天堂av中文字幕| 天堂中文在线资源| 韩国欧美国产一区| 不卡的看片网站| 国产精品久久久久久久久动漫| 一区二区三区视频在线观看| 制服丝袜成人动漫| 日韩在线视频导航| 亚洲综合在线做性| 亚洲高清视频一区| 国产av不卡一区二区| 黄色片视频免费观看| 久久精品视频1| 亚洲三区在线观看无套内射| 亚洲婷婷综合色高清在线| 亚洲国产精品成人av| 国产精品欧美在线| 国产乱子伦精品无码专区| 西西444www无码大胆| 国产精品30p| 国产av精国产传媒| 久久免费电影网| 欧美日韩精品在线观看| 中文字幕欧美专区|