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

如何優(yōu)雅的關(guān)閉容器,看本文就夠了

系統(tǒng) Linux
要說如何優(yōu)雅的關(guān)閉容器,那就不得不提到信號(Signal)的理念,以及 Dockerfile 中 ENTRYPOINT 和 CMD 指令了。在具體說優(yōu)雅關(guān)閉之前,先了解一下信號這個 Linux 中的基礎(chǔ)概念。

 最近把 Docker 官方的 Docker Reference 文檔又讀了一遍,發(fā)現(xiàn)有些細(xì)節(jié)深究起來,還是有很多可挖的。針對寫 Dockerfile ,大部分時候只要照葫蘆畫瓢,基本也不會有什么大的問題,但是如果再深入理解一下那就更有意思了。

[[438741]]

要說如何優(yōu)雅的關(guān)閉容器,那就不得不提到信號(Signal)的理念,以及 Dockerfile 中 ENTRYPOINT 和 CMD 指令了。在具體說優(yōu)雅關(guān)閉之前,先了解一下信號這個 Linux 中的基礎(chǔ)概念。

1 信號

信號是事件發(fā)生時對進(jìn)程的通知機(jī)制,有時也稱之為軟件中斷。

信號有不同的類型,Linux 對標(biāo)準(zhǔn)信號的編號為 1~31,可以通過 kill -l 獲取信號名稱: 

  1. # kill -l  
  2.  1) SIGHUP       2) SIGINT       3) SIGQUIT     
  3.  4) SIGILL       5) SIGTRAP      6) SIGABRT    
  4.  7) SIGBUS       8) SIGFPE       9) SIGKILL 
  5.  10) SIGUSR1    11) SIGSEGV     12) SIGUSR2 
  6.  13) SIGPIPE    14) SIGALRM     15) SIGTERM 
  7. ... ... 

實際列出的信號超過了 31 個,有些是其它名稱的同義詞,有些則是定義但未使用的。以下介紹幾個常用的信號:

  •  1) SIGHUP 當(dāng)終端斷開(掛機(jī))時,將發(fā)送該信號給終端控制進(jìn)程。SIGHUP 信號還可用于守護(hù)進(jìn)程(比如,init 等)。許多守護(hù)進(jìn)程會在收到 SIGHUP 信號時重新進(jìn)行初始化并重讀配置文件。
  •  2) SIGINT 當(dāng)用戶鍵入終端中斷字符(通常為 Control-C ) 時,終端驅(qū)動程序?qū)l(fā)送該信號給前臺進(jìn)程組。該信號的默認(rèn)行為是終止進(jìn)程。
  •  3) SIGQUIT 當(dāng)用戶在鍵盤上鍵入退出字符(通常為 Control-\ )時,該信號將發(fā)往前臺進(jìn)程組。默認(rèn)情況下,該信號終止進(jìn)程,并生成用于調(diào)試的核心轉(zhuǎn)儲文件。進(jìn)程如果陷入無限循環(huán),或者不再響應(yīng)時,使用 SIGQUIT 信號就很合適。
  •  9) SIGKILL 此信號為 “必殺(sure kill)” 信號,處理器程序無法將其阻塞、忽略或者捕獲,故而 “一擊必殺”,總能終止程序。
  •  15) SIGTERM 這是用來終止進(jìn)程的標(biāo)準(zhǔn)信號,也是 kill 、 killall 、 pkill 命令所發(fā)送的默認(rèn)信號。精心設(shè)計的應(yīng)用程序應(yīng)當(dāng)為 SIGTERM 信號設(shè)置處理器程序,以便其能夠預(yù)先清除臨時文件和釋放其它資源,從而全身而退。因此,總是應(yīng)該先嘗試使用 SIGTERM 信號來終止進(jìn)程,而把 SIGKILL 作為最后手段,去對付那些不響應(yīng) SIGTERM 信號的失控進(jìn)程。
  •  20) SIGTSTP 這是作業(yè)控制的停止信號,當(dāng)用戶在鍵盤上輸入掛起字符(通常為 Control-Z )時,將該信號給前臺進(jìn)程組,使其停止運行。

值得注意的是, Control-D 不會發(fā)起信號,它表示 EOF(End-Of-File),關(guān)閉標(biāo)準(zhǔn)輸入(stdin)管道(比如可以通過 Control-D 退出當(dāng)前 shell)。如果程序不讀取當(dāng)前輸入的話,是不受 Control-D 影響的。

程序可以針對信號捕捉,然后執(zhí)行相應(yīng)函數(shù):

 

以上知識大部分都來自 《Linux/UNIX 系統(tǒng)編程手冊》,想要了解更多的,可以查看該書上冊的 20、21、22 章節(jié)。

2 ENTRYPOINT 、 CMD

可能有人會問,說了半天,那信號和優(yōu)雅的關(guān)閉容器有半毛錢的關(guān)系啊?話說,這和錢確實沒關(guān)系,但是和如何優(yōu)雅關(guān)閉容器卻關(guān)系密切。

接著說 Dockerfile 中的 ENTRYPOINT 和 CMD 指令,它們的主要功能是指定容器啟動時執(zhí)行的程序。

CMD 有三種格式:

  •  CMD ["executable","param1","param2"] (exec 格式, 推薦使用這種格式)
  •  CMD ["param1","param2"] (作為 ENTRYPOINT 指令參數(shù))
  •  CMD command param1 param2 (shell 格式,默認(rèn) /bin/sh -c )

ENTRYPOINT 有兩種格式:

  •  ENTRYPOINT ["executable", "param1", "param2"] (exec 格式,推薦優(yōu)先使用這種格式)
  •  ENTRYPOINT command param1 param2 (shell 格式)

其中,不管你 Dockerfile 用其中哪個指令,兩個指令都推薦使用 exec 格式,而不是 shell 格式。原因就是因為使用 shell 格式之后,程序會以 /bin/sh -c 的子命令啟動,并且 shell 格式下不會傳遞任何信號給程序。這也就導(dǎo)致,在 docker stop 容器的時候,以這種格式運行的程序捕捉不到發(fā)送的信號,也就談不上優(yōu)雅的關(guān)閉了。 

  1. ➜  ~ docker stop --help  
  2. Usage:  docker stop [OPTIONS] CONTAINER [CONTAINER...]  
  3. Stop one or more running containers  
  4. Options:  
  5.       --help       Print usage  
  6.   -t, --time int   Seconds to wait for stop before killing it (default 10) 

docker stop 停掉容器的時候,默認(rèn)會發(fā)送一個 SIGTERM 的信號,默認(rèn) 10s 后容器沒有停止的話,就 SIGKILL 強(qiáng)制停止容器。通過 -t 選項可以設(shè)置等待時間。 

  1. ➜  ~ docker kill --help  
  2. Usage:  docker kill [OPTIONS] CONTAINER [CONTAINER...]  
  3. Kill one or more running containers  
  4. Options:  
  5.       --help            Print usage  
  6.   -s, --signal string   Signal to send to the container (default "KILL") 

通過 docker kill 的 -s 選項還可以指定給容器發(fā)送的信號。

所以,說了那么多,只要 Dockerfile 中通過 exec 格式執(zhí)行容器啟動命令就相安無事了?那當(dāng)然是,沒有那么簡單的了,接下來我們通過實例來看看具體的效果是怎么樣的。

3 實例

通過 Go 寫一個簡單的信號處理器: 

  1. ➜  ~ cat signals.go  
  2. package main  
  3. import ( 
  4.     "fmt"  
  5.     "os"  
  6.     "os/signal"  
  7.     "syscall"  
  8. func main() {  
  9.     sigs :make(chan os.Signal, 1)  
  10.     done :make(chan bool, 1)  
  11.     signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)  
  12.     go func() {  
  13.         sig :<-sigs  
  14.         fmt.Println()  
  15.         fmt.Println(sig)  
  16.         done <- true  
  17.     }()  
  18.     fmt.Println("awaiting signal")  
  19.     <-done  
  20.     fmt.Println("exiting")  

3.1 實例 1 

  1. ➜  ~ GOOS=linux GOARCH=amd64 go build signals.go  
  2. ➜  ~ ls  
  3. Dockerfile signals    signals.go  
  4. ➜  ~ cat Dockerfile  
  5. FROM busybox  
  6. COPY signals /signals  
  7. CMD ["/signals"]    # exec 格式執(zhí)行  
  8. ➜  ~ docker build -t signals . 

通過 tmux 開啟兩個面板,一個運行容器,一個執(zhí)行 docker stop : 

  1. ➜  ~ docker run -it --rm --name signals signals  
  2. awaiting signal  
  3. terminated  
  4. exiting  
  1. ➜  ~ time docker stop signals  
  2. signals  
  3. docker stop signals  0.01s user 0.02s system 4% cpu 0.732 total 
  4. ➜  ~ 

可以發(fā)現(xiàn),容器停止之前,程序接收到信號并輸出相應(yīng)信息,并且停止總耗時為 0.732 s,達(dá)到了優(yōu)雅的效果。

修改 Dockerfile 中 CMD 執(zhí)行格式,執(zhí)行相同操作: 

  1. ➜  ~ cat Dockerfile  
  2. FROM busybox  
  3. COPY signals /signals  
  4. CMD /signals        # shell 格式執(zhí)行  
  5. ➜  ~ docker build -t signals .  
  1. ➜  ~ docker run -it --rm --name signals signals  
  2. awaiting signal  
  3. ➜  ~  
  1. ➜  ~ time docker stop signals  
  2. signals  
  3. docker stop signals  0.01s user 0.01s system 0% cpu 10.719 total 

通過 shell 格式之后,可以發(fā)現(xiàn)容器停止之前,程序并未接收到任何信號,并且停止時間為 10.719s,說明該容器是被強(qiáng)制停止的。

結(jié)論很明顯,為了優(yōu)雅的退出容器,我們應(yīng)該采用 exec 這種格式。

3.2 實例 2

通過實例 1 我們都會在 Dockerfile 中都會通過 exec 這種格式來執(zhí)行程序了,那如果執(zhí)行的程序本身也是一個 shell 腳本呢? 

  1. ➜  ~ ls  
  2. Dockerfile signals    signals.go start.sh  
  3. ➜  ~ cat Dockerfile  
  4. FROM busybox  
  5. COPY signals /signals  
  6. COPY start.sh /start.sh     # 引入 shell 腳本啟動  
  7. CMD ["/start.sh"]  
  8. ➜  ~ cat start.sh  
  9. #!/bin/sh  
  10. /signals  
  11. ➜  ~ 

測試依然引用實例 1 中的方法: 

  1. ➜  ~ docker run -it --rm --name signals signals  
  2. awaiting signal  
  3. ➜  ~  
  1. ➜  ~ time docker stop signals  
  2. signals  
  3. docker stop signals  0.01s user 0.02s system 0% cpu 10.765 total  
  4. ➜  ~ 

可以發(fā)現(xiàn),即使 Dockerfile 中的 CMD 指令使用的是 exec 格式,容器中的程序依然沒有接收到信號,最后被強(qiáng)制關(guān)閉。因為 shell 腳本中執(zhí)行的原因,導(dǎo)致信號依然沒有被傳遞,我們需要針對 shell 腳本做一些改造: 

  1. ➜  ~ cat start.sh  
  2. #!/bin/sh 
  3. exec /signals   # 加入 exec 執(zhí)行  
  4. ➜  ~ docker build -t signals .  
  1. ➜  ~ docker run -it --rm --name signals signals  
  2. awaiting signal  
  3. terminated  
  4. exiting  
  1. ➜  ~ time docker stop signals  
  2. signals  
  3. docker stop signals  0.02s user 0.02s system 4% cpu 0.744 total  
  4. ➜  ~ 

可以看到,加入 exec 命令之后,程序又可以接收到信號正常退出了。當(dāng)然,如果你 Dockerfile 中的 CMD 是以 shell 格式運行的,即使啟動腳本中加入 exec 也是無效的。再者,如果你的程序本身不能針對信號做一些處理,也就談不上優(yōu)雅關(guān)閉了。 

 

責(zé)任編輯:龐桂玉 來源: Linux公社
相關(guān)推薦

2020-12-11 08:04:01

腳本動態(tài) Async

2020-02-24 19:28:23

Rust語言Web框架應(yīng)用領(lǐng)域

2021-01-19 10:35:49

JVM場景函數(shù)

2019-10-09 10:06:48

容器監(jiān)控軟件

2022-04-11 08:17:07

JVMJava進(jìn)程

2021-03-28 09:17:18

JVM場景鉤子函數(shù)

2017-12-19 10:03:44

JavaLinux代碼

2024-11-13 16:37:00

Java線程池

2018-09-12 15:16:19

數(shù)據(jù)中心網(wǎng)絡(luò)機(jī)房

2018-08-17 09:14:43

餓了么容器演進(jìn)

2023-11-22 07:54:33

Xargs命令Linux

2024-02-04 09:08:00

Autofac容器.NET

2021-04-24 23:06:47

JavaScript編程語言

2017-10-23 11:56:35

路由器升級更新

2025-02-14 08:53:24

2022-03-13 09:31:43

MQ消息隊列ActiveMQ

2021-09-30 07:59:06

zookeeper一致性算法CAP

2019-08-16 09:41:56

UDP協(xié)議TCP

2023-10-17 08:15:28

API前后端分離

2021-12-21 15:17:53

Kubernetes緩存Linux
點贊
收藏

51CTO技術(shù)棧公眾號

亚洲一区二区三| 欧美不卡视频一区| 亚洲不卡一卡2卡三卡4卡5卡精品| 成人免费区一区二区三区| 久久av影视| 欧美一区二区三区四区高清| 国模无码视频一区二区三区| 亚洲搞黄视频| 99久久精品国产网站| 国产日本欧美一区| 国产成人亚洲欧洲在线| 国产精品99视频| 亚洲精品天天看| 性生活在线视频| 日韩视频网站在线观看| 亚洲综合一区在线| 小说区图片区图片区另类灬| 黄色三级网站在线观看| 久久99热国产| 国产福利精品av综合导导航| 久久久久久久久久综合 | 国产视频一区三区| 久久在线免费视频| 欧美波霸videosex极品| 精品三级在线观看视频| 日韩一二三四区| 日韩一区二区三区久久| 丝袜美腿一区| 大伊人狠狠躁夜夜躁av一区| 免费国产成人看片在线| 在线国产91| 久久精品视频在线看| 国产一区二区三区奇米久涩| 国产高清免费av| 久久国产尿小便嘘嘘| 国产成人a亚洲精品| 国产精品二区一区二区aⅴ| 亚洲国产精品成人| xxx欧美精品| 潮喷失禁大喷水aⅴ无码| 久久99久久人婷婷精品综合| 亚洲欧美另类自拍| 日本黄色网址大全| 欧美91在线| 亚洲的天堂在线中文字幕| 在线成人精品视频| 日韩精品免费视频一区二区三区 | www.看毛片| 国产精品538一区二区在线| 国产欧美va欧美va香蕉在线| 成人黄色三级视频| 喷水一区二区三区| 国产精品一久久香蕉国产线看观看| 久久人妻免费视频| 天堂精品中文字幕在线| 国产精品video| 中文字幕av免费观看| 麻豆精品在线播放| 成人福利免费观看| 精品人妻aV中文字幕乱码色欲| 国产一区二区三区日韩| 91精品国产99久久久久久红楼| 国产普通话bbwbbwbbw| 国产精品一区二区免费不卡| 99porn视频在线| 国产91绿帽单男绿奴| 99精品视频免费在线观看| 久久亚洲精品欧美| 福利在线观看| 国产精品久久久久久亚洲毛片 | 国产丝袜不卡| 日本一二三区在线视频| 日本一区二区免费在线| 亚洲区成人777777精品| www视频在线观看| 色婷婷久久综合| 欧美日韩理论片| 国产精品115| 亚洲性av在线| 亚洲国产精品免费在线观看| 亚洲经典三级| 国产精品免费观看在线| 国产区精品在线| 99视频精品在线| 亚洲国产日韩综合一区| 2024最新电影在线免费观看| 欧美日韩另类字幕中文| 天堂网在线免费观看| 午夜日韩影院| 亚洲一级黄色片| 青青青在线视频| 久久久久看片| 99国产精品久久久久老师| 天堂中文在线资| 日韩美女视频一区二区| 精品视频免费在线播放| 久久99国产精品二区高清软件| 欧美sm美女调教| 手机毛片在线观看| 亚洲欧洲视频| 91免费精品国偷自产在线| 网站黄在线观看| 亚洲欧美怡红院| 国产真实乱子伦| 136国产福利精品导航网址应用| 亚洲日本中文字幕免费在线不卡| 国产精品久久久久久久精| 亚洲影视在线| 国产精品久久波多野结衣| av资源网站在线观看| 亚洲国产人成综合网站| 91视频这里只有精品| 亚洲高清极品| 欧美精品www在线观看| 91久久久久久久久久久久| 久久嫩草精品久久久久| 9色porny| 天堂va在线高清一区| 色综合伊人色综合网| 欧美三级一区二区三区| 国产精品亚洲а∨天堂免在线| 日韩性感在线| 欧美黑人粗大| 日韩av中文在线| 久久精品视频8| 国产乱人伦偷精品视频免下载| 日韩中文一区| 欧美裸体视频| 日韩经典一区二区三区| 久热这里只有精品在线| 国产一区二区三区四区在线观看| 一区精品视频| 国产成人a视频高清在线观看| 亚洲精品久久久久久久久久久| 极品颜值美女露脸啪啪| 国产在线视视频有精品| 综合操久久久| 四虎国产精品免费久久5151| 中文字幕亚洲欧美日韩2019| 69视频免费看| 国产欧美日韩在线看| 已婚少妇美妙人妻系列| 精品国产精品| 国产精品444| 成a人v在线播放| 欧美亚洲国产一区二区三区va | 成人精品在线观看视频| 夜夜精品视频| 久久久久久久久一区二区| 色综合桃花网| 亚洲欧洲日本专区| av一级在线观看| 国产精品人妖ts系列视频| 我看黄色一级片| 久久一区二区中文字幕| 成人久久久久久| 18在线观看的| 精品国产91乱码一区二区三区| 国产午夜福利一区二区| 91视频在线观看免费| 粉嫩虎白女毛片人体| 欧美一级本道电影免费专区| 91精品久久久久久久久久另类 | 国产欧美一区二区三区视频 | 国产伦一区二区三区| 国产精品91一区| 一区二区三区视频网站| 欧美一级黄色录像| 日韩精品一区二区av| 久久―日本道色综合久久| 亚洲老女人av| 午夜久久影院| 久久久99国产精品免费| 草莓视频成人appios| 久久手机精品视频| 欧美一级视频免费| 色先锋aa成人| 高h视频免费观看| 久久网这里都是精品| 国内外成人免费在线视频| 欧美日韩少妇| 欧美三级网色| 91麻豆精品| 456亚洲影院| 欧美被日视频| 亚洲国产日韩欧美在线图片| 国产精品sm调教免费专区| 尤物视频一区二区| 欧美成人午夜精品免费| 久久成人麻豆午夜电影| 狠狠干 狠狠操| 99re66热这里只有精品8| 国产精品theporn88| 伊人久久高清| 久久免费在线观看| 亚洲免费视频一区二区三区| 亚洲成人精品视频在线观看| 影音先锋国产资源| 五月激情六月综合| 亚洲a∨无码无在线观看| av中文一区二区三区| xxww在线观看| 久久久久看片| 欧美精品久久久久久久久久久| 首页国产精品| 欧美一区二区在线| swag国产精品一区二区| 国产一区视频在线播放| 国产欧美一区二区三区精品酒店| 九九热精品视频在线播放| 二人午夜免费观看在线视频| 亚洲国产精品久久久久久| 国产麻豆免费视频| 欧美亚洲愉拍一区二区| 天天操夜夜操视频| 亚洲一区二区三区自拍| 2017亚洲天堂| 国产女人aaa级久久久级 | 欧美一级高清免费播放| 日本高清在线观看| 日韩中文字幕视频| 黄色av免费在线观看| 亚洲国产精久久久久久久| av官网在线观看| 欧美日韩国产精选| 波多野结衣一二区| 日韩欧美国产网站| 国产成人在线播放视频| 亚洲成人午夜影院| 久久亚洲av午夜福利精品一区| 中文字幕制服丝袜成人av| 精品人妻无码一区二区三区换脸| 91网站在线观看视频| 国内精品免费视频| 成人永久aaa| 9.1在线观看免费| 国产99精品国产| 国产精品二区视频| 国内精品写真在线观看| www.99r| 奇米影视7777精品一区二区| 成人免费毛片播放| 日韩高清不卡在线| 高清一区在线观看| 久久99精品视频| 中文 日韩 欧美| 国产九九视频一区二区三区| www.日本久久| 国产99久久久国产精品| 折磨小男生性器羞耻的故事| 99久久久无码国产精品| 美国黄色一级毛片| 久久伊99综合婷婷久久伊| 精品无码国产污污污免费网站| 国产亚洲欧美色| 老司机福利在线观看| 综合久久综合久久| 好吊色视频在线观看| 亚洲一区二区三区小说| 日本亚洲色大成网站www久久| 欧美日韩午夜激情| 亚洲视屏在线观看| 欧美精品久久99| 北条麻妃一二三区| 亚洲国语精品自产拍在线观看| 色哟哟在线观看| 中文字幕成人精品久久不卡| 日本三级视频在线观看| 欧美裸体男粗大视频在线观看| 福利在线免费视频| 国产精品成人一区二区三区吃奶| 亚洲精品毛片| 国产高清精品一区| 九一国产精品| 日韩人妻精品一区二区三区| 亚洲大片在线| 狠狠操精品视频| 国内精品久久久久影院色| 亚洲av熟女高潮一区二区| 国产夜色精品一区二区av| av最新在线观看| 精品久久久久久中文字幕| 国产偷人爽久久久久久老妇app| 6080国产精品一区二区| 亚洲av成人精品日韩在线播放| 曰本色欧美视频在线| 色www永久免费视频首页在线 | 欧美无砖专区免费| 老司机精品久久| 杨幂一区二区国产精品| 久久精品在这里| 黄色一级片在线免费观看| 日韩欧美aaa| www久久久久久| 国产一区二区激情| 丁香花视频在线观看| 国产精品视频999| 老司机精品视频在线播放| 亚洲精品一区二区三区蜜桃久| 亚洲青涩在线| 欧美国产日韩另类| 久久久国产精品麻豆| 久久精品一区二区三| 欧美日韩性生活| 三级无遮挡在线观看| 色综合老司机第九色激情| 激情亚洲小说| 精品中文字幕一区| 女人天堂亚洲aⅴ在线观看| 久久久久久久少妇| 91视视频在线直接观看在线看网页在线看 | 国产日韩欧美精品一区| 日韩av女优在线观看| 91精品国产麻豆| 888av在线| 日本伊人精品一区二区三区介绍| 999精品视频在这里| 中国一级黄色录像| 免费观看30秒视频久久| 国产精品815.cc红桃| 偷窥国产亚洲免费视频| 精品国产免费无码久久久| 日韩在线资源网| 成人涩涩视频| 三级三级久久三级久久18| 国产精品最新自拍| 亚洲天堂美女视频| 亚洲一区免费观看| 亚洲国产www| 欧美国产日本在线| 日韩中文字幕无砖| 午夜久久久久久久久久久| 另类人妖一区二区av| 色屁屁草草影院ccyy.com| 91福利资源站| 国产视频福利在线| 国产精品www色诱视频| 国产精品三级| 日韩av片网站| 国产精品人成在线观看免费| 一区两区小视频| 日韩中文字幕精品| 亚洲网站免费| 色哟哟免费网站| 国产丶欧美丶日本不卡视频| 免费无码毛片一区二区app| 日韩一区二区免费高清| 四虎影视国产在线视频| 999在线免费观看视频| 激情欧美日韩| 少妇精品一区二区| 色综合久久综合网欧美综合网 | 久久久91精品国产| 精品视频91| 亚洲色成人www永久在线观看| a亚洲天堂av| 激情网站在线观看| 上原亚衣av一区二区三区| 国产激情综合| 国产无限制自拍| 国产视频一区二区在线| 中文在线字幕免费观| 久久中文精品视频| japanese色系久久精品| 男人的天堂99| 中文字幕精品一区二区精品绿巨人| 在线视频欧美亚洲| 欧美肥婆姓交大片| 欧美美女在线直播| 欧美黄色性生活| 一区二区成人在线观看| 亚洲av成人无码网天堂| 国产精品视频大全| 国产伊人精品| 影音先锋制服丝袜| 在线成人av网站| 欧美gv在线| 亚洲一二区在线| 成人小视频在线| 高潮无码精品色欲av午夜福利| 久久亚洲精品网站| 亚洲系列另类av| 激情文学亚洲色图| 欧美日韩国产在线播放| 无遮挡的视频在线观看| 99国产视频在线| 欧美aa在线视频| 国产一级一片免费播放| 少妇激情综合网| 国产一级成人av| 精品久久久99| 亚洲国产aⅴ天堂久久| 尤物视频在线免费观看| 国产精品露出视频| 老司机精品视频导航| 亚洲精品在线观看av| 日韩中文在线不卡| 自拍亚洲一区| 女同性αv亚洲女同志| 欧美优质美女网站|