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

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

Docker 入門快速上手指南

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

為什使用 Docker?

為什么要使用 Docker?就個人而言,Docker 能提供的最大便利在于這種技術面對程序環境遷移時所表現的卓越性。

這種性能使得我們不必在分享代碼或項目合作、交接時附帶一長串的環境配置指南進行版本限制和擴展描述;也不必再特意記錄自己對現有環境的配置改變,以免下次系統遷移時手足無措;更為重要的是,Docker 在提供以上解決方案的同時沒有把解法變得復雜,相反的,它提供了一種更快、更容易的方式。

Docker 獨到的對增量和文件層的應用,使得鏡像下載、共享 & 隔離、版本控制等問題的解決方法變得格外優雅。有興趣的讀者可以參考「循序漸進學 Docker」這本書。

下載 & 安裝

下載

訪問下面的網址,從菜單的 Get Docker 中選擇適合的版本進行下載。

https://www.docker.com/

安裝

Mac 和 Windows 中都可以使用桌面版傻瓜式安裝,而 Centos 中的安裝會受限于系統內核版本,可查看 參考鏈接。

安裝完成后,可以通過以下方式查看 Docker 版本:

docker --version

更改鏡像源

國內訪問官方鏡像的速度較慢,可以選用國內的鏡像源,這里給出 DaoCloud 和阿里云的鏡像源,鏡像源更換方法在以下網址中都有說明:

DaoCloud: https://www.daocloud.io/mirror

AliCloud: https://cr.console.aliyun.com/#/accelerator

鏡像市場

可以從以下網址中搜索需要的鏡像:

 官方:https://store.docker.com/

DaoCloud: http://hub.daocloud.io/

AliCloud:https://dev.aliyun.com/

名詞解釋

  1. 鏡像:從鏡像市場中下載的即為鏡像,可以理解為容器的模板。
  2. 容器:應用程序運行的環境,容器的創建依賴于某一鏡像。注意,容器不是鏡像的拷貝,容器只是在鏡像之上建立了一層讀寫層,用以覆蓋容器內對鏡像配置、文件的修改。采用這一方式可以避免因頻繁的鏡像復制而導致的資源浪費。具體可以參考相關書籍或博客。

鏡像與容器

鏡像的搜索與獲取

搜索鏡像

可以在安裝了 Docker 的機器上使用以下指令搜索鏡像,不過還是建議通過訪問鏡像商店的方式搜索。注意,$mirror-name 需要替換為想要搜索的鏡像名。

docker search $mirror-name

獲取鏡像

可以使用以下指令拉取鏡像到本地,其中冒號后的 $tag 為鏡像的版本標簽,如果省略冒號及之后的內容,則為下載最新版本即 :latest。版本標簽信息可以在鏡像市場中查找到。

docker pull $mirror-name:$tag

注意,若下載的鏡像攜帶有版本標簽,則之后對這一鏡像的使用都需要攜帶版本標簽,否則會因為版本不同而再次下載。

鏡像的查看與刪除

查看鏡像

查看所有鏡像可以使用:

docker images

也可通過以下方式查看單個鏡像:

docker images $mirror-name

刪除鏡像

我們可以通過以下方式刪除鏡像,但此時需要保證沒有容器使用這一鏡像:

docker rmi $mirror-name

查看容器

查看已啟動的容器

docker ps

查看全部容器

docker ps -a

查看容器日志

采用以下方法可以查看容器的操作歷史和輸出:

docker logs $container-name

啟動容器

生成容器

可以通過以下方式生成一個基于某一鏡像的容器,注意,如果宿主機中沒有該鏡像則會先進行下載。務必注意鏡像標簽是否正確。

docker run $mirror-name:$tag

使用這一命令會使得容器在創建后自動啟動。

給容器添加自定義名字

通過 docker ps -a 可以看到容器的 ID 和 name,這兩者都可以作為后續對容器刪除、啟動、關閉及設置等操作的標識。使用 ID 時,只需輸入 ID 的前幾位即可(能與其他容器區分)。

Docker 會為其隨機生成 64 位長度的字符串作為 ID,當然,我們也可以通過如下方式手動指定容器的名字,其中 $container-name 即為指定的容器名。

docker run --name $container-name $mirror-name

啟動容器

docker start $container-name

關閉容器

docker stop $container-name

以交互方式創建容器

可以通過以下方式,以交互的方式創建容器,當然也可以在 $mirror-name 的前面加上 --name xxx 來指定容器的名字,在交互模式中,可以輸入 exit 退出:

docker run -it $mirror-name

以后臺運行方式創建容器

我們可以使用 -d 操作使容器在后臺運行:

docker run -d $mirror-name

容器狀態問題

容器在啟動后,如果沒有活動的前臺進程,容器會自動關閉。若要保持容器啟動狀態,可以強制其執行一個前臺進程。

可以用以下方式創建一個不自動關閉的 centos 鏡像:

docker run -it --name mycentos centosdocker start mycentos// 此時可以看到該容器沒有自動關閉docker ps

容器執行操作

我們可以通過以下方式對已經啟動的容器執行一些操作,其中 $container-name 可以是容器的名字,也可以是容器的 ID:

docker exec $container-name echo "hello" && echo "world"

也可以通過以下方式進入交互模式:

docekr exec -it $container-name bash

其中,&& 是起到操作間連接的作用。此外,我們也可以在創建的容器的時候就使其執行一些操作:

docker run $mirror-name echo "hello world"

查看容器詳情

通過以下方式可以查看容器的詳細信息,這些信息是采用 JSON 的格式展現的:

docker inspect $container-name

刪除容器

可以在 rm 之后加入一個或多個容器名或容器 ID 進行批量刪除。

docker rm $container-name-1 $container-name-2 ...

可以使用以下方法刪除全部容器:

docker rm $(docker ps -aq)

Docker 網絡

網絡類別

查看網絡類別

網絡的類別為 nonehost,bridge 三種,可以通過以下方式查看:

docker network ls

none 型網絡

顧名思義,此類網絡表示容器為獨立個體,不與外部通信。

host 型網絡

此類網絡表示該容器與宿主機(安裝 Docker 的機器)共享網絡。

bridge 型網絡

這是容器的默認網絡類型,網橋模式意味著容器間可以互相通信,而對外的通信需要借助宿主機,這一形式通常表現為端口號的映射。

查看網絡類別詳情

docker network inspect $network-name

通過這種方式可以查看 JSON 格式的網絡類別,在 Containers 條目中可以看到使用當前網絡類型的容器列表,注意 Containers 中只會顯示那些已經啟動的容器。

創建網絡

可以通過以下方式創建一個網絡,其中,$network-driver 表示網絡類別,即 none bridge host,而 $network-name 為自定義的網絡名:

docker network create --driver $network-driver $network-name

如果省略 --driver $network-driver 則默認創建 bridge 類型的網絡。

為容器指定網絡

我們可以創建自定義的網絡環境,并將一些容器放入這一網絡內,以此管理容器間的網絡連通情況。這種局域網網段的模擬實際是由內部 DNS 實現的。以下羅列將容器添加或移除到某一網絡中的方法。

將容器添加進某一網絡

可以通過以下方式將容器 $container-name 加入 $network-name 網絡中。注意,一個容器可以屬于多個網絡。

docker network connect $network-name $container-name

之后,當容器啟動時,我們就可以在 docker network inspect $network-name Containers 中看到這一容器了。

將容器從某一網絡中移除

docker network disconnect $network-name $container-name

在容器生成時指定網絡

我們也可以在容器生成時指定網絡,使用如下方法:

docker run --network $network-name $mirror-name

測試網絡連通情況

我們可以通過以下方式查詢到容器的 IP 地址:

  • 在容器交互模式中使用 ip addr ;
  • 使用 docker inspect $container-name
  • 使用 docker inspect $container-name | grep IPAddress

之后可以使用 ping 指令測試容期間的網絡連通情況。沒有 ping 命令的容器需要安裝 iputils。

刪除網絡

docker network rm $network-name

Docker 存儲

有時,我們需要將容器的部分存儲映射到宿主機器件中,以便對配置文件、日志文件、數據文件等進行備份或統一管理。

指定數據卷

我們可以在創建時,將系統的某一目錄指定為容器某一目錄的數據卷,其中 --volume 可以使用 -v 縮寫:

docker run --volume /my/mac/dir:/container/dir $mirror-name

此時,容器內部的 /container/dir 將與宿主機的 /my/mac/dir 形成映射。

當然,我們也可以將文件與文件映射起來。

docker run --volume /my/mac/file:/container/file $mirror-name

在指定數據卷時,可以省略宿主主機目錄,此時 Docker 會自動指定一個主機空間用以映射:

docker run --volume /container/dir $mirror-name

此外,還可以選擇只讀方式,這樣文件或目錄的修改就只能在宿主機中進行了。只需添加 :ro 即可:

docker run --volume /my/mac/dir:/container/dir:ro $mirror-name

我們可以通過 docker inspect $container-name,并在 Mounts 中看到數據卷的詳細情況。

查看數據卷

我們可以通過以下指令查看數據卷的情況:

docker volume ls

當容器被刪除時,主機上的數據卷并不會被刪除,此時可以通過以下指令查看那些沒有容器使用的數據卷,注意,這里只會顯示那些由 Docker 自動指定的數據卷,即沒有手動指定主機映射目錄的數據卷:

docker volume ls -f dangling=true

順便,如果需要在刪除容器時一并刪除數據卷,可以使用以下指令:

docker rm -v $container-name

數據卷的繼承

有時我們可能需要在創建容器時,選擇該容器的數據卷與之前的某容器相同,比如在面對多容器共享項目目錄空間這一需求時。此時我們可以通過以下方式實現:

docker run --volumes-from $container-name $mirror-name

數據卷的刪除

可以使用如下方式刪除數據卷,其中 $volume-id 可以通過 docker volume ls 查看:

docker volume rm $volume-id

給已創建時的容器添加數據卷

容器一旦創建后,再添加數據卷映射會比較麻煩。

而且,這里并不建議這么做,建議的做法是將容器提交為鏡像后,以此鏡像再次創建容器。

Docker 端口

綁定端口

我們可以將容器的端口綁定到主機的某一端口上,已完成某些應用的需求,如將主機的 12345 端口綁定到容器的 80 端口上,這樣我們對 localhost:12345 的訪問就相當于對容器 80 端口的訪問。

通過以下方式可以實現端口綁定,其中 $host-port 為宿主主機的端口,而 $container-port 為容器的端口,如 12345:80

docker run -p $host-port:$container-port nginx

我們也可以只指定容器的端口號,此時 Docker 會自動分配一個主機上的端口號。

docker run -p $container-port nginx

對于 Nginx,官方鏡像在制作時指定暴露 80 和 443 端口用于 http 和 https 請求,對于這種在鏡像中暴露的端口,可以在創建時使用以下方式全部指定:

docker run -P nginx

此時,Docker 會自動分配主機上的兩個端口分別映射容器的 80 和 443 端口。自動分配的數量與鏡像中暴露的端口數量對應。

查看端口

我們可以在 docker ps -a 中的 PORTS 欄看到端口映射情況。注意只有處于運行中的容器才會有實際的端口映射。

此外,我們還可以使用以下指令查看某一容器的端口映射:

docker port $container-name

docker-compose

創建一個容器時,可能需要對多項參數進行限制,比如指定網絡、指定數據卷、指定端口等等。而且,有時我們可能需要同時使用多個容器共同支撐應用,比如 Nginx 容器、php & php-fpm 容器、MySQL 容器、Redis 容器等。

如果每次都使用各種參數,按某種順序依次啟動容器(容器之間可能存在先后順序,比如要先啟動 PHP 然后再啟動 Nginx 容器)的話,會造成很多繁瑣的操作。為了解決這個問題,我們可以使用 docker-compose。

執行以下指令查看 docker-compose 可以執行的指令:

docker-compose --help

YAML

docker-compose 依賴一個 docker-compose.yml 文件,用以指定容器數據卷、網絡等。

.yml 文件遵循 YAML 語法,這是一種使用縮進的語法。

樣例

下面給出一個簡單的樣例,用以說明 docker-compose 的用法

version: '2.0'services:  # 啟用一個鏡像為 nginx 的容器并命名為 web1 web1: image: nginx # 開啟 80 和 443 端口,實際映射端口由 Docker 指定 ports:  - "80"  - "443" # 將該容器加入 mynetwork 中 networks:  - "mynetwork" # 指定該容器要在 web2 容器啟動之后啟動,且在其停止前停止 depends_on:  - web2 web2: image: nginx ports:  - "33333:80" networks:  - "mynetwork"  - "bridge" volumes:  - "/mnt"networks: # 創建一個驅動為 bridge 的網絡,命名為 mynetwork mynetwork: driver: bridge

其中,容器的實際名字為 .yml 文件所在目錄名_.yml 文件中指定的名字_序號,如 mydir_web1_1。但是,在容器內部,可以使用 mydir_web1_1 也可以使用 web1 作為域名訪問另一主機,這對于之后多容器共同支撐 web 服務是至關重要的。

更多的 .yml 文件的寫法可以參考 [YAML 模板文件][7]

docker-compose 的使用

生成容器

首先,我們需要有一個名為 docker-compose.yml docker-compose.yaml 的文件,并進入該文件所在目錄下,通過以下命令生成并啟動:

docker-compose up

Docker 會根據 docker-compose.yml 中的內容創建網絡、數據卷和容器。

當然也可以加入參數 -d 使其生成后在后臺運行:

docker-compose up -d

停止

停止容器可以使用:

docker-compose stop

運行

再次運行容器可以使用

docker-compose start

查看日志

docker-compose logs

刪除

通過以下命令可以刪除容器,但不會刪除之前創建的網絡

docker-compose rm

若想既刪除容器,又刪除網絡,可以使用:

docker-compose down

注意,數據卷的刪除仍要使用之前刪除數據卷的方法。

生成 & 提交鏡像

生成鏡像

我們對使用某一鏡像的容器做了修改,比如在使用 centos 這一鏡像創建的容器中安裝了 nginx,此時我們可以將這一容器生成為一個新的鏡像,這之后就可以通過這個新鏡像創建其他容器,而這些容器也同樣已經安裝了 nginx。

生成鏡像可以使用如下方式:

 

復制代碼 代碼如下:

docker commit -m $commit-msg -a $author $container-id $namespace/$mirror-name:$tag

 

如:

docker commit -m 'install nginx' -a 'dailybird' abcd1234 dailybird/nginx:test

之后便可以通過 docker images 查看已經創建的鏡像了。

提交鏡像

我們可以將鏡像提交到官方倉庫中,這樣就可以像最初獲取鏡像的方式一樣獲得自己制作的鏡像了。

首先,我們需要在 Docker Hub 上注冊賬戶:https://hub.docker.com/

然后使用以下命令登錄:

docker login

之后會提示輸入用戶名和密碼,顯示登錄成功后,用以下方式推送:

docker push $namespace/$mirror-name:$tag

由于國內訪問 Docker Hub 的速度較慢,我們也可以使用 DaoCloud 或阿里云的 Docker 服務,具體的推送方法可以訪問之前給出的網址,參照其中的方法即可。

Dockerfile
使用已有容器創建鏡像的方式固然可行,可當我們需要再次對鏡像修改時,就需要再次生成容器、進行配置修改或軟件安裝、提交鏡像。此外,不斷在原有提交鏡像的基礎上修改提交會存在兩個問題:

  1. 累積的修改條目不夠直觀,可能之后自己也不知道對原有鏡像做了什么修改;
  2. 不斷修改的過程在 Docker 看來是增量更新的過程。這一次的修改相當于在上一次的基礎上增加了一個只讀層用于記錄本次的修改情況。而只讀層的數量是有限的,也就意味著這種修改和提交的方式的操作次數是受限的。

那么,有沒有一種更好的方式可以實現鏡像的生成呢?類比 docker-compose.yml,我們可以使用另一種類似配置文件的方式來指導鏡像的生成,這就是 Dockerfile

Dockerfile 可以指定新鏡像的原鏡像來源、對原鏡像的操作、環境變量,以及以此創建容器時執行的指令等。

樣例

# 新鏡像基于的原鏡像FROM centos:centos6.8# 指明維護者MAINTAINER dailybird <dailybird@mail.com># 設置一些環境變量,使用 / 表示連接多個設置ENV NGINX_VERSION 1.11.11 /  TEST_ENV hello# 指定暴露的端口號,EXPOSE 80 443# 在原鏡像基礎上進行的修改RUN yum install -y wget iputils /  && wget http://nginx.org/download/nginx-1.11.11.tar.gz# 以此鏡像創建并啟動時,容器執行的指令,通常用于啟動服務CMD ["echo", "hello world"]

比如使用以下配置可以在 centos 中安裝 nginx:

FROM centos:centos6.8MAINTAINER dailybird <dailybird@mail.com>EXPOSE 80 443RUN cd / /  && mkdir data /  && cd data /  && mkdir nmp /  && cd nmp /  && yum install -y wget pcre-devel gcc gcc-c++ /    ncurses-devel perl make zlib zlib-devel /    openssl openssl--devel iputils /  && wget http://nginx.org/download/nginx-1.11.11.tar.gz /  && tar zxf nginx-1.11.11.tar.gz /  && cd nginx-1.11.11 /  && ./configure --prefix=/usr/local/nginx /  && make && make install && make clean /

更多的 Dockerfile 指令可以參考 Dockerfile 指令。

Dockerfile 的使用

使用 Dockerfile 創建鏡像

首先,我們需要新建一個名為 Dockerfile 的文件(沒有后綴),并寫入一些配置內容。然后在該文件的目錄中,通過以下指令創建鏡像:

docker build --tag $namespace/$mirror-name:$tag $dockerfile-dir

其中,$dockerfile-dir Dockerfile 所在目錄,比如執行:

docker build --tag dailybird/nginx-demo:demo ./

等待一段時間之后,便可通過 docker images 看到新創建的鏡像了。

docker-compose 中使用 Dockerfile

當我們需要啟動一個新鏡像時,可以先將此鏡像創建出來,然后在 docker-compose.yml 文件中通過 image 指定新鏡像;也可以直接通過以下方式將這兩個步驟合并:

version: '2.0'services:  web1:  # build 后的參數為 Dockerfile 文件所在的目錄位置,替換原先的 image  build: ./  ports:   - "80"  networks:   - "mynetwork"   # ...# 其他配置

此后,可以通過以下指令創建容器:

docker-compose builddocker-compose up

或者,直接執行:

docker-compose up --build

這時,Docker 會自動創建一個鏡像,并以此創建容器。

后記

關于 Docker 還有很多內容,比如備份、集群、插件等。不過這些就留到進一步研究之后再撰文吧。

問題備忘

權限問題

有時可能遇到如下 Docker 報錯:

 

復制代碼 代碼如下:

WARNING: Error loading config file:/home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied

 

此時,可以通過以下方法解決:

sudo chmod -R g+rwx /your/path/to/.docker/

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产福利视频一区| 久久精品国产欧美亚洲人人爽| 亚洲一区二区三区香蕉| 中文字幕免费国产精品| 国产精品色婷婷视频| 国产亚洲成av人片在线观看桃| 97av在线视频| 在线观看国产精品淫| 亚洲老板91色精品久久| 91精品国产成人www| 欧美极品欧美精品欧美视频| 国产日韩综合一区二区性色av| 欧美成人中文字幕在线| 超碰精品一区二区三区乱码| 国产精品日韩专区| 懂色av一区二区三区| 国产精品视频区| 国产精品亚洲第一区| 国产精品一区二区在线| 韩国精品久久久999| 欧美一级淫片播放口| …久久精品99久久香蕉国产| 欧美国产第二页| 亚洲少妇中文在线| 欧美亚洲第一区| 国产欧美久久一区二区| 亚洲国产精品va在线| 在线播放国产精品| 亚洲iv一区二区三区| 亚洲香蕉伊综合在人在线视看| 日韩精品免费在线| www.日韩av.com| 亚洲国内高清视频| 神马久久久久久| 中文字幕精品一区二区精品| 日韩精品亚洲精品| 热门国产精品亚洲第一区在线| www.日韩免费| 欧美日韩国产999| 欧美疯狂xxxx大交乱88av| 亚洲影院色在线观看免费| 98精品国产自产在线观看| 国产狼人综合免费视频| 欧美成人免费大片| 欧美成人午夜视频| 91牛牛免费视频| 久久国产精品99国产精| 久久网福利资源网站| 青青久久aⅴ北条麻妃| 亚洲一级片在线看| 色悠久久久久综合先锋影音下载| 亚洲国产欧美自拍| 久久精品国产一区二区电影| 久久免费视频这里只有精品| 国产精品久久久久999| 97精品国产91久久久久久| 国内精品久久久久久久久| 精品久久久久久国产91| 国产精品久久久久久一区二区| 精品露脸国产偷人在视频| 成人深夜直播免费观看| 亚洲午夜性刺激影院| 欧美日韩精品在线视频| 国产欧美一区二区白浆黑人| 国产日韩欧美91| 国产主播精品在线| 日韩av在线最新| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美精品性视频| 国产亚洲精品久久| 亚洲性视频网址| 久久男人资源视频| 国产在线观看一区二区三区| 欧美精品videos另类日本| 久久中文字幕视频| 国产精品尤物福利片在线观看| 国产精品入口夜色视频大尺度| 午夜精品一区二区三区av| 成人激情视频在线观看| 日av在线播放中文不卡| 亚洲激情在线观看| 国产日本欧美一区二区三区在线| 日韩美女中文字幕| 欧美在线免费观看| 在线精品91av| 精品女厕一区二区三区| 海角国产乱辈乱精品视频| 2021久久精品国产99国产精品| 国产精品成人v| 亚洲一区二区久久久久久久| 欧美日韩亚洲一区二区三区| 欧美极品少妇xxxxx| 91精品国产91久久久久久久久| 精品国产一区二区三区久久| 欧美丰满少妇xxxx| 国产一区二区三区在线看| 久久久综合免费视频| 久久久99免费视频| 欧美日韩国产在线| 国产精品99导航| 亚洲伊人久久大香线蕉av| 亚洲欧洲在线播放| 69久久夜色精品国产7777| 九九精品在线观看| 韩国国内大量揄拍精品视频| 国产美女精品视频| 综合激情国产一区| 欧美大成色www永久网站婷| 国产一级揄自揄精品视频| 国产精品久久久久久久久久久久久| 亚洲第一免费播放区| 中文字幕在线亚洲| 欧美视频不卡中文| 久久久这里只有精品视频| 最近更新的2019中文字幕| 911国产网站尤物在线观看| 欧美色视频日本高清在线观看| 午夜精品久久久99热福利| 国产噜噜噜噜噜久久久久久久久| 国产精品欧美亚洲777777| 日本高清视频精品| 欧美性69xxxx肥| 欧美精品videosex极品1| 九九久久国产精品| 91精品国产综合久久男男| 日韩欧美亚洲综合| 亚洲国产精品久久精品怡红院| 亚洲国产成人精品久久久国产成人一区| 欧美色欧美亚洲高清在线视频| 亚洲深夜福利在线| 亚洲缚视频在线观看| 欧美亚洲另类视频| 亚洲精品日韩激情在线电影| 欧美极品少妇全裸体| 欧美在线一级va免费观看| 亚洲精品免费av| 国产精品激情av在线播放| 亚洲欧美国产精品va在线观看| 91热福利电影| 在线看欧美日韩| 日本19禁啪啪免费观看www| 亚洲精品白浆高清久久久久久| 日韩欧美在线免费观看| 亚洲精品久久在线| 久久人人爽人人爽人人片亚洲| 欧美精品18videosex性欧美| 欧美最猛性xxxxx亚洲精品| 欧美视频在线观看 亚洲欧| 精品一区电影国产| 国模精品一区二区三区色天香| 欧美成人免费一级人片100| 欧美性猛交xxxx免费看久久久| 一个人www欧美| 亚洲欧美变态国产另类| 97精品欧美一区二区三区| 国产日韩欧美在线视频观看| 国产亚洲福利一区| 亚洲欧美在线免费观看| 亚洲精品在线观看www| 黄色一区二区在线观看| 九九热视频这里只有精品| 国产在线98福利播放视频| 日本亚洲欧洲色| 亚洲香蕉在线观看|