精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

av免费观看不卡| 中文网丁香综合网| 久久久久99精品成人片我成大片| 日韩欧美国产大片| 91成人国产精品| 中国一级黄色录像| 手机亚洲第一页| 日韩成人伦理电影在线观看| 最近2019中文字幕在线高清 | 亚洲女优在线| 久久精品视频亚洲| 精品无码在线视频| 色综合视频一区二区三区日韩| 亚洲伦理在线精品| 欧洲精品亚洲精品| 亚洲国产精品久久久久爰性色| www成人在线视频| 中文欧美字幕免费| 国产精品国产三级国产专区53| 男人日女人网站| 亚洲国产一成人久久精品| 日韩欧美精品在线| 精品少妇无遮挡毛片| 黄色成人在线网| 中文av一区二区| 久久国产一区二区| 亚洲国产日韩在线观看| 麻豆精品国产传媒mv男同| 97视频在线观看网址| 欧美日韩偷拍视频| 欧美国产美女| 亚洲最新av网址| 一区二区视频观看| 超碰97久久国产精品牛牛| 欧美人体做爰大胆视频| 国产无套内射久久久国产| 中中文字幕av在线| 亚洲同性同志一二三专区| 欧美亚洲爱爱另类综合| 天天摸夜夜添狠狠添婷婷 | 乱码一区二区三区| 欧美成人高清视频在线观看| 色婷婷激情综合| 人人妻人人添人人爽欧美一区| 日本理论片午伦夜理片在线观看| 国产精品成人免费在线| 亚洲精品9999| 成人不用播放器| 国产欧美综合在线| 欧美日韩天天操 | 国产一区二区av| 国产精品无码网站| 蜜臀av一区| 亚洲第一精品夜夜躁人人爽| 欧美图片自拍偷拍| 中文字幕日韩在线| 精品乱人伦一区二区三区| 日本黄色www| 视频一区国产| 欧美成人a在线| 在线xxxxx| 天天操综合520| 亚洲精品自拍偷拍| 午夜理伦三级做爰电影| 欧美欧美黄在线二区| 亚洲色图综合久久| 国产不卡在线观看视频| 99久久婷婷| 不卡av在线播放| 久久久全国免费视频| 国精品一区二区| 91国内产香蕉| 国产99久久久久久免费看| 久久精品国产免费| 91网站免费观看| 亚洲AV无码国产精品午夜字幕| 成人免费毛片aaaaa**| 国产另类第一区| 蝌蚪视频在线播放| 中文字幕综合网| 成人免费毛片在线观看| 伊人久久国产| 欧美精品三级日韩久久| 欧美午夜精品一区二区| 日韩精品亚洲aⅴ在线影院| 亚洲欧洲黄色网| 欧美a级片免费看| 一区在线免费观看| 国产精品久久二区| 97成人免费视频| 成人午夜av在线| 日韩精品资源| 欧美6一10sex性hd| 91成人免费电影| 日批免费观看视频| 欧美综合在线视频观看 | 91福利区在线观看| 色av成人天堂桃色av| 中文字幕精品一区二区三区在线| 2020最新国产精品| 亚洲一区二区久久| 国产亚洲成人av| 日本在线播放一区二区三区| 成人免费观看网址| 欧美偷拍视频| 亚洲日本在线天堂| 99久久国产宗和精品1上映| 国产精品一区二区精品| 亚洲免费高清视频| 欧美另类视频在线观看| 免费高清在线一区| 精品综合在线| 羞羞视频在线免费国产| 91福利国产精品| 亚洲日本久久久| 亚洲五月综合| 日韩av免费在线播放| 亚洲成熟女性毛茸茸| 国产精品青草久久| 国产青青在线视频| 无码国模国产在线观看| 色诱女教师一区二区三区| 国产一区二区三区影院| 国产美女视频91| 先锋影音亚洲资源| 一区二区电影免费观看| 亚洲激情成人网| 精品97人妻无码中文永久在线| 麻豆久久久久久久| 日韩精品久久一区| 成人性生交大片免费网站| 日韩欧美一卡二卡| 国产精品国产精品88| 欧美aaa在线| 欧美日韩在线一区二区三区| 波多野结衣乳巨码无在线观看| 91精品国产高清一区二区三区 | 国产精品久久久久久免费 | 亚欧精品视频一区二区三区| 一区二区三区导航| 国产美女精品久久久| 秋霞在线视频| 日韩欧美自拍偷拍| 国产女人被狂躁到高潮小说| 国产真实乱子伦精品视频| 手机在线观看国产精品| 国精产品一区一区三区四川| 亚洲男人天堂手机在线| av大片在线免费观看| proumb性欧美在线观看| 免费人成在线观看视频播放| 香蕉成人app| 久久久久久久久爱| 免费的黄色av| 午夜精品影院在线观看| 亚洲一区二区在线免费| 亚洲少妇一区| 欧美极品jizzhd欧美| 女生影院久久| 伊人久久免费视频| 国产又粗又猛又爽| 亚洲乱码国产乱码精品精98午夜 | 成人亚洲视频| 日韩一区二区三区xxxx| 国产丰满果冻videossex| 亚洲精品国产a久久久久久 | www.五月婷婷.com| 国产精品乱人伦中文| 想看黄色一级片| 国产精品v日韩精品v欧美精品网站| www.久久久| 伊人久久综合一区二区| 在线精品国产成人综合| 国产乱子伦精品无码码专区| 夜夜夜精品看看| www.免费av| 免费在线欧美视频| 国产又粗又长又爽视频| 国产乱人伦丫前精品视频| 欧美诱惑福利视频| 日本激情在线观看| 亚洲福利精品在线| 中文字幕乱码视频| 亚洲精品欧美激情| 亚欧洲乱码视频| 久久国产精品99精品国产 | 久久国产欧美精品| 激情亚洲小说| 午夜免费日韩视频| www黄在线观看| 欧美不卡一区二区三区四区| 国产婷婷色一区二区在线观看| 中文幕一区二区三区久久蜜桃| wwwxxx色| 全部av―极品视觉盛宴亚洲| 喜爱夜蒲2在线| 欧美精选视频在线观看| 产国精品偷在线| 免费高清视频在线一区| 久久久久久久久久国产精品| 国产女人在线视频| 亚洲国产高清福利视频| 亚洲视频一区在线播放| 五月婷婷综合在线| 波多野结衣家庭教师| 久久你懂得1024| 性一交一黄一片| 蜜臀av一区二区在线免费观看 | 男女免费观看在线爽爽爽视频| 亚洲人a成www在线影院| 国产成人精品亚洲精品色欲| 色欧美片视频在线观看 | 亚洲性图久久| 中文字幕欧美人与畜| 午夜a一级毛片亚洲欧洲| 亚洲综合色av| 欧美日韩破处视频| 国产成人精品综合久久久| h片视频在线观看| www.亚洲成人| 成人综合影院| 国产丝袜一区二区| 成人午夜福利视频| 欧美一区二区精品在线| 中文字幕免费观看视频| 一本大道久久a久久精二百| 黄色小视频在线免费看| 亚洲三级小视频| 九九热久久免费视频| 国产欧美日韩精品一区| 国产中年熟女高潮大集合| av成人免费在线| 四虎永久免费观看| 国产成人啪免费观看软件| 午夜激情视频网| 精品一区二区三区在线观看| 手机看片福利日韩| 麻豆9191精品国产| 国产精品视频一区二区三区四区五区| 亚洲高清av| 六月婷婷在线视频| 国产福利视频在线| 亚洲+变态+欧美+另类+精品| 欧美国产极速在线| 国产激情在线| 久久影视电视剧免费网站清宫辞电视| yourporn在线观看视频| 国产亚洲精品一区二555| 你懂的视频在线观看| 日韩精品电影网| 丝袜+亚洲+另类+欧美+变态| 日韩av综合网站| 五月天激情开心网| 亚洲美女av在线播放| 青青草视频在线免费观看| 亚洲女人被黑人巨大进入al| 视频二区在线| 国产亚洲精品久久久久动| 国产黄在线看| 日韩中文字幕久久| 超碰在线最新| 久久男人的天堂| 色综合亚洲图丝熟| 日韩美女视频在线观看| 欧美日韩国产网站| 成人av在线网址| 一区二区三区高清在线观看| 国模精品一区二区三区| 亚洲色图丝袜| 亚洲7777| 一本一本久久a久久综合精品| 国产精品免费看久久久无码| 在线看片一区| 国产免费人做人爱午夜视频| 三级影片在线观看欧美日韩一区二区 | 欧美激情一区二区久久久| 搞黄网站在线看| 日韩av手机在线看| 亚洲狼人综合| 国产精品久久久久免费| 伊人久久综合影院| 中文字幕免费高| 亚洲人成毛片在线播放女女| 黄色三级视频片| 国产老肥熟一区二区三区| 黄色国产在线视频| 欧美国产精品一区二区| 亚洲成人生活片| 欧美日韩中文在线| 国产一区二区三区四区视频 | 视频区 图片区 小说区| 99久久久国产精品| 人妻互换一区二区激情偷拍| 亚洲综合无码一区二区| 亚洲国产av一区二区三区| 日韩一级二级三级| 国产小视频在线观看| 九九九久久国产免费| 国产成人精品123区免费视频| 92国产精品视频| 自拍欧美一区| 亚洲啊啊啊啊啊| 蜜臀久久99精品久久久久久9| 又色又爽又黄18网站| 国产精品美女一区二区在线观看| 国产精品变态另类虐交| 欧美日高清视频| 色视频精品视频在线观看| 伦伦影院午夜日韩欧美限制| 97久久香蕉国产线看观看| 国产麻豆一区二区三区在线观看| 欧美激情电影| 不卡影院一区二区| 成人免费视频免费观看| 国产精品视频一区二区三| 色香蕉成人二区免费| 狠狠综合久久av一区二区| 久久久精品网站| 成人在线免费| 久久精品一区二区三区不卡免费视频 | 擼擼色在线看观看免费| 18成人在线| 日韩久久电影| 国产一区视频免费观看| 91一区二区在线| 久久精品视频9| 欧美一级午夜免费电影| 欧美日韩在线看片| 国产精品入口日韩视频大尺度| 日韩福利视频一区| 搞av.com| 成人免费观看男女羞羞视频| 无码人妻精品一区二区三区夜夜嗨| 欧美亚洲国产一区二区三区va| 欧美孕妇孕交xxⅹ孕妇交| 18性欧美xxxⅹ性满足| 久久中文资源| 大伊香蕉精品视频在线| 国产91精品入口| 欧美日韩成人免费观看| 日韩视频在线你懂得| av毛片在线免费看| 444亚洲人体| 欧美人与禽猛交乱配视频| 亚洲国产欧美91| 一区二区三区在线观看国产| 99久久精品国产色欲| 欧美成人精品在线视频| 精品三级国产| 日韩精品免费一区| 福利视频网站一区二区三区| 午夜写真片福利电影网| 日韩欧美自拍偷拍| av资源在线看片| 精品乱色一区二区中文字幕| 久久久天天操| 无码少妇一区二区| 欧美妇女性影城| 3d玉蒲团在线观看| 国产精品毛片va一区二区三区| 激情综合久久| 三级电影在线看| 在线观看日韩毛片| 麻豆视频在线观看免费网站| 91视频88av| 精品成人久久| 特级西西人体wwwww| 在线亚洲免费视频| 欧美性天天影视| www.久久草| 欧美一级播放| 少妇太紧太爽又黄又硬又爽小说 | 日本一区二区久久| 97精品人妻一区二区三区| 欧美丰满片xxx777| 在线观看欧美理论a影院| 亚洲综合欧美激情| 亚洲自拍偷拍九九九| 视频一区二区在线播放| 国产精品一区二区久久久久| 雨宫琴音一区二区三区| 国产精品手机在线观看| 在线视频欧美精品| 高潮毛片在线观看| 久久国产一区二区| 久久er99热精品一区二区| 久久精品这里有| 在线观看日韩欧美| 96sao在线精品免费视频| 色诱视频在线观看| 亚洲欧美经典视频| 深夜福利视频一区| 91久久精品美女高潮| 先锋影音国产一区| 农村妇女精品一区二区| 亚洲视频一区二区| 日韩欧美高清一区二区三区| 国产精品69页| 亚洲午夜免费视频| 求av网址在线观看|