国产无遮挡裸体免费直播视频,久久精品国产蜜臀av,动漫在线视频一区二区,欧亚日韩一区二区三区,久艹在线 免费视频,国产精品美女网站免费,正在播放 97超级视频在线观看,斗破苍穹年番在线观看免费,51最新乱码中文字幕

Docker配置文件docker-compose.yml使用指南

 更新時(shí)間:2023年07月18日 11:55:39   作者:BUG弄潮兒  
本文主要介紹了Docker配置文件docker-compose.yml使用指南,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

Docker Compose配置文件是Docker Compose的核心,用于定義服務(wù)、網(wǎng)絡(luò)和數(shù)據(jù)卷。格式為YAML,默認(rèn)路徑為./docker-compose.yml,可以使用.yml或.yaml擴(kuò)展名,目前Compose配置文件格式的最新版本為V3。Compose配置文件中涉及的配置項(xiàng)也比較多,但大部分配置項(xiàng)的含義跟docker run命令相關(guān)選項(xiàng)是類(lèi)似的。

本文主要參考官方文檔對(duì)目前最新的V3版Compose配置文件進(jìn)行一個(gè)總結(jié)。都是一些概念性的內(nèi)容,不涉及具體操作。

一、Compose配置文件版本

這里主要對(duì)Compose配置文件的版本的相關(guān)要點(diǎn)進(jìn)行一個(gè)簡(jiǎn)單的總結(jié)。至于每個(gè)版本具體的變化和升級(jí)信息可以參考官方的Compose配置文件版本與升級(jí)指南。

1. Compose配置文件格式的版本概述

當(dāng)前有三種版本的Compose配置文件格式:

  • Version 1

舊版格式,通過(guò)省略YAML的根配置項(xiàng)version來(lái)指定。

未聲明版本的Compose配置文件都被視為V1版,所有的服務(wù)都作為根選項(xiàng)在Compose配置文件中聲明。

支持V1的Compose最高到1.6.x,再高版本的Compose不推薦使用V1版Compose配置文件。

不支持?jǐn)?shù)據(jù)卷、網(wǎng)絡(luò)和構(gòu)建參數(shù)配置。

V1的Compose不會(huì)利用網(wǎng)絡(luò)優(yōu)勢(shì),每個(gè)容器都位于默認(rèn)的bridge網(wǎng)絡(luò)上,并且可以從其他容器的IP地址訪問(wèn),需要使用links來(lái)啟用容器之間的發(fā)現(xiàn)。

  • Version 2.x

通過(guò)YAML的根配置項(xiàng)version來(lái)指定,具體配置如version: '2'或version: '2.1'等。

必須在Compose配置文件根選項(xiàng)指定版本號(hào),并且主版本數(shù)字為2,且所有服務(wù)必須在services配置項(xiàng)下聲明。

1.6.0+版本的Compose都支持V2,Docker Engine的版本需要1.10.0+版本。

支持?jǐn)?shù)據(jù)卷和網(wǎng)絡(luò)的配置。

默認(rèn)情況下,每個(gè)容器都加入了應(yīng)用范圍的默認(rèn)網(wǎng)絡(luò),并且可以在與服務(wù)名稱(chēng)相同的主機(jī)名下發(fā)現(xiàn)。很大程度上links不是必要的。

V2中加入了環(huán)境變量替換。

  • Version 3.x

最新版本,也是推薦使用版本,推出該版的目的是為了在Compose和Docker Engine的swarm模式之間形成交叉兼容。

通過(guò)YAML的根配置項(xiàng)version來(lái)指定,具體配置如version: '3'或version: '3.1'等。

V3刪除了多個(gè)配置項(xiàng),但也新增了更多配置項(xiàng)。

關(guān)于Compose配置文件版本的常見(jiàn)注意事項(xiàng):

在聲明V2和V3版本時(shí)需注意:

在指定Compose配置文件要使用的版本時(shí),需同時(shí)指定主版本數(shù)字和次版本數(shù)字。如果未給定次版本數(shù)字,則默認(rèn)使用0而不是最新版本,因此將不支持再更高版本中才加入的新功能。比如version: '3',使用的是3.0版本而不是目前最新的3.8版本。

在使用多Compose配置文件時(shí)需注意:

使用多個(gè)Compose配置文件擴(kuò)展服務(wù)時(shí),每個(gè)文件必須為相同的版本。

2. Compose配置文件格式版本與Docker的兼容性關(guān)系

Compose配置文件格式具有多種版本。其中Compose配置文件格式版本與Docker的兼容性關(guān)系如下表所示:

Compose配置文件格式版本 Docker Engine 版本

3.8 19.03.0+
3.7 18.06.0+
3.6 18.02.0+
3.5 17.12.0+
3.4 17.09.0+
3.3 17.06.0+
3.2 17.04.0+
3.1 1.13.1+
3.0 1.13.0+
2.4 17.12.0+
2.3 17.06.0+
2.2 1.13.0+
2.1 1.12.0+
2.0 1.10.0+
1.0 1.9.1.+

如果使用的較舊版本的Docker,可以參考官方的Compose版本發(fā)布列表。其中的每組發(fā)行說(shuō)明都詳細(xì)說(shuō)明了支持的Docker Engine版本和兼容的Compose配置文件格式版本。

3. 兼容模式

在1.20.0版本,Compose在docker-compose命令中引入了一個(gè)新的選項(xiàng)--compatibility,目的在于幫助開(kāi)發(fā)人員更輕松地過(guò)渡到V3版。啟用該選項(xiàng)后,docker-compose命令會(huì)讀取每個(gè)服務(wù)定義的deploy部分,并嘗試將其轉(zhuǎn)換為等效的V2配置項(xiàng)。目前,以下deploy下的配置項(xiàng)已被轉(zhuǎn)換:

resources下的limits和reservations下的memory

replicas

restart_policy下的 condition 和max_attempts

所有的其他配置項(xiàng)都將被忽略,如果這些被忽略的配置項(xiàng)存在則會(huì)發(fā)出一個(gè)警告。可以使用帶--compatibility的Config命令查看將用于deploy的配置。

注意請(qǐng)勿在生成環(huán)境使用兼容模式!

建議不要在生產(chǎn)環(huán)境中使用--compatibility選項(xiàng)。由于使用非Swarm模式屬性生成的配置僅是近似值,因此可能會(huì)產(chǎn)生意外的結(jié)果。

二、Compose配置文件結(jié)構(gòu)

Docker Compose配置文件是一個(gè)用于定義服務(wù)、網(wǎng)絡(luò)和數(shù)據(jù)卷的YAML文件。其中服務(wù)定義了該服務(wù)啟動(dòng)的每個(gè)容器的配置,就像將命令行參數(shù)傳遞給docker run一樣,網(wǎng)絡(luò)和數(shù)據(jù)卷的定義類(lèi)似于docker network create和docker volume create。跟docker run一樣,如果在Dockerfile中通過(guò)諸如CMD、EXPOSE、VOLUME和ENV這些指令指定了相關(guān)選項(xiàng),那么在默認(rèn)情況下,不需要在docker-compose.yml中再次指定它們。下面是從官網(wǎng)引過(guò)來(lái)的一個(gè)Compose配置文件的示例,可以先大致了解一下它的結(jié)構(gòu):

version: "3.8"
services:
  redis:
    image: redis:alpine
    ports:
      - "6379"
    networks:
      - frontend
    deploy:
      replicas: 2
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
  db:
    image: postgres:9.4
    volumes:
      - db-data:/var/lib/postgresql/data
    networks:
      - backend
    deploy:
      placement:
        constraints:
          - "node.role==manager"
  vote:
    image: dockersamples/examplevotingapp_vote:before
    ports:
      - "5000:80"
    networks:
      - frontend
    depends_on:
      - redis
    deploy:
      replicas: 2
      update_config:
        parallelism: 2
      restart_policy:
        condition: on-failure
  result:
    image: dockersamples/examplevotingapp_result:before
    ports:
      - "5001:80"
    networks:
      - backend
    depends_on:
      - db
    deploy:
      replicas: 1
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
  worker:
    image: dockersamples/examplevotingapp_worker
    networks:
      - frontend
      - backend
    deploy:
      mode: replicated
      replicas: 1
      labels: [APP=VOTING]
      restart_policy:
        condition: on-failure
        delay: 10s
        max_attempts: 3
        window: 120s
      placement:
        constraints:
          - "node.role==manager"
  visualizer:
    image: dockersamples/visualizer:stable
    ports:
      - "8080:8080"
    stop_grace_period: 1m30s
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    deploy:
      placement:
        constraints:
          - "node.role==manager"
networks:
  frontend:
  backend:
volumes:
  db-data:

頂層的version、services、networks和volumes將Compose配置文件分為四個(gè)部分,其中version指定Compose配置文件的版本,services定義服務(wù),networks定義網(wǎng)絡(luò),volumes定義數(shù)據(jù)卷。

三、服務(wù)配置

服務(wù)定義了該服務(wù)啟動(dòng)的每個(gè)容器的配置,就像將命令行參數(shù)傳遞給docker run一樣。比如以下配置:

services:
  redis:
    image: redis:alpine

services下的redis是用戶自定義的服務(wù)名稱(chēng),redis下的image只是眾多服務(wù)配置項(xiàng)中的其中一個(gè),意思是指定鏡像名稱(chēng)或id。下面就對(duì)服務(wù)的相關(guān)配置項(xiàng)進(jìn)行一個(gè)總結(jié)。

1. build

在構(gòu)建時(shí)應(yīng)用的配置項(xiàng)。一般直接指定Dockerfile所在文件夾路徑,可以是絕對(duì)路徑,或者相對(duì)于Compose配置文件的路徑??梢灾付榘瑯?gòu)建上下文(context)路徑的字符串。例如:

version: "3.8"
services:
  webapp:
    build: ./dir

也可以使用context指定上下文路徑,使用dockerfile基于上下文路徑指定Dockerfile文件,使用args指定構(gòu)建參數(shù)。例如:r

version: "3.8"
services:
  webapp:
    build:
      context: ./dir
      dockerfile: Dockerfile-alternate
      args:
        buildno: 1

如果同時(shí)指定了build和image。例如:

build: ./dir
image: webapp:tag

Compose會(huì)在./dir目錄下構(gòu)建一個(gè)名為webapp,標(biāo)簽為tag的鏡像。

使用docker stack deploy時(shí)的注意事項(xiàng):在swarm mode下部署堆棧時(shí),build配置項(xiàng)被忽略。因?yàn)閐ocker stack命令不會(huì)在部署之前構(gòu)建鏡像。

(1) context

指定包含Dockerfile的目錄路徑或git倉(cāng)庫(kù)url。該目錄是發(fā)送給Docker守護(hù)進(jìn)程(Daemon)的構(gòu)建上下文(context)。當(dāng)配置的值是相對(duì)路徑時(shí),它將被解釋為相對(duì)于Compose配置文件的路徑。例如:

build:
  context: ./dir

指定上下文為Compose配置文件目錄下的dir目錄。

(2) dockerfile

指定Dockerfile文件。Compose會(huì)使用指定的Dockerfile文件構(gòu)建鏡像,但必須要指定構(gòu)建上下文路徑。例如:

build:
  context: .
  dockerfile: Dockerfile-alternate

Compose會(huì)使用Compose配置文件所在目錄下名為Dockerfile-alternate的Dockerfile文件構(gòu)建鏡像。

(3) args

添加構(gòu)建參數(shù),這些只能在構(gòu)建過(guò)程中訪問(wèn)的環(huán)境變量。首先在Dockerfile文件中指定參數(shù):

ARG buildno
ARG gitcommithash
RUN echo "Build number: $buildno"
RUN echo "Based on commit: $gitcommithash"

然后build中指定參數(shù),以下兩種寫(xiě)法都可以:

build:
  context: .
  args:
    buildno: 1
    gitcommithash: cdc3b19
build:
  context: .
  args:
    - buildno=1
    - gitcommithash=cdc3b19

這時(shí)構(gòu)建過(guò)程中使用的參數(shù)的值為args指定的值。在指定構(gòu)建參數(shù)時(shí)也可以不指定值,在這種情況下,構(gòu)建過(guò)程中使用的參數(shù)的值為運(yùn)行Compose的環(huán)境中的值。例如:

args:
  - buildno
  - gitcommithash

使用布爾值時(shí)的注意事項(xiàng):YMAL中布爾類(lèi)型的值("true"、"false"、"yes"、"no"、"on"、"off")必須用引號(hào)引起來(lái),以便解析器將它們解釋為字符串。

(4) cache_from

在3.2版的配置文件格式中加入

指定緩存解析鏡像列表。例如:

build:
  context: .
  cache_from:
    - alpine:latest
    - corp/web_app:3.14

(5) labels

在3.3版的配置文件格式中加入

將元數(shù)據(jù)以標(biāo)簽的形式添加到生成的鏡像中??梢允褂脭?shù)組或字典兩種格式。推薦使用反向DNS寫(xiě)法以避免和其他應(yīng)用的標(biāo)簽沖突。例如:

build:
  context: .
  labels:
    com.example.description: "Accounting webapp"
    com.example.department: "Finance"
    com.example.label-with-empty-value: ""
build:
  context: .
  labels:
    - "com.example.description=Accounting webapp"
    - "com.example.department=Finance"
    - "com.example.label-with-empty-value"

(6) network

在3.4版的配置文件格式中加入

設(shè)置容器網(wǎng)絡(luò)連接以獲取構(gòu)建過(guò)程中的RUN指令。例如:

build:
  context: .
  network: custom_network_1

設(shè)置為none可以在構(gòu)建期間禁用網(wǎng)絡(luò)連接。例如:

build:
  context: .
  network: none

(7) shm_size

在3.5版的配置文件格式中加入

指定容器的/dev/shm分區(qū)大小。指定的值為表示字節(jié)數(shù)的整數(shù)值或表示字節(jié)值的字符串。例如

build:
  context: .
  shm_size: 10000000
build:
  context: .
  shm_size: '2gb'

(8) target

在3.4版的配置文件格式中加入

指定在Dockerfile中定義的構(gòu)建階段,即鏡像只構(gòu)建到指定階段就停止構(gòu)建。例如:

build:
  context: .
  target: prod

指定構(gòu)建階段為prod,即鏡像只構(gòu)建到prod階段,prod階段之后的內(nèi)容不會(huì)被構(gòu)建。

2. cap_add、cap_drop

添加或刪除容器內(nèi)核能力(capability)。完整的capability列表可查看man 7 capabilities。例如,讓容器擁有所有內(nèi)核能力:

cap_add:
  - ALL

例如,刪除NET_ADMIN和SYS_ADMIN能力:

cap_drop:
  - NET_ADMIN
  - SYS_ADMIN

使用docker stack deploy時(shí)的注意事項(xiàng):在swarm mode下部署堆棧時(shí),cap_add和cap_drop配置項(xiàng)將被忽略。

3. cgroup_parent

為容器指定一個(gè)可選的父控制組。例如:

cgroup_parent: m-executor-abcd

使用docker stack deploy時(shí)的注意事項(xiàng):在swarm mode下部署堆棧時(shí),cgroup_parent配置項(xiàng)將被忽略。

4. command

覆蓋容器啟動(dòng)后默認(rèn)執(zhí)行的命令。可以寫(xiě)成字符串形式。例如:

command: bundle exec thin -p 3000

也可以寫(xiě)成JSON數(shù)組形式。例如:

command: ["bundle", "exec", "thin", "-p", "3000"]

5. configs

在3.3版的配置文件格式中加入

為每個(gè)服務(wù)授予對(duì)配置(configs)的訪問(wèn)權(quán)限。支持short和long兩種格式的語(yǔ)法。更多configs信息,參考configs。

注意:該配置(config)必須已存在或者在堆棧文件頂層configs配置項(xiàng)中定義,否則堆棧部署將失敗。

short語(yǔ)法僅指定config名稱(chēng)來(lái)授予容器訪問(wèn)config的權(quán)限并將其掛載到容器的/<config_name>上。source名稱(chēng)和目標(biāo)掛載點(diǎn)都設(shè)置為config名稱(chēng)。例如以下示例,授予了redis服務(wù)對(duì)configs的my_config和my_other_config的訪問(wèn)權(quán)限,其中my_config的值設(shè)置到文件./my_config.txt的內(nèi)容中,my_other_config定義為外部資源,這意味著它已經(jīng)在Docker中通過(guò)運(yùn)行docker config create命令或其他堆棧部署進(jìn)行定義,如果外部config不存在,堆棧部署將會(huì)失敗并顯示config not found錯(cuò)誤:

version: "3.8"
services:
  redis:
    image: redis:latest
    deploy:
      replicas: 1
    configs:
      - my_config
      - my_other_config
configs:
  my_config:
    file: ./my_config.txt
  my_other_config:
    external: true

long語(yǔ)法提供了在服務(wù)的任務(wù)容器內(nèi)如何創(chuàng)建config的更多粒度:

source:Docker中存在的config名稱(chēng)。

target:指定要掛載到服務(wù)的任務(wù)容器的文件的路徑加名稱(chēng)。如果未指定,默認(rèn)為/。

uid和gid:指定服務(wù)的任務(wù)容器所擁有的該文件的UID或GID。如果在LInux中未指定,兩者都默認(rèn)為0。不支持Windows。

mode:以八進(jìn)制表示法指定要掛載到服務(wù)的任務(wù)容器的文件權(quán)限。例如,0444代表可讀。默認(rèn)值就為0444。config內(nèi)容已掛載到臨時(shí)文件系統(tǒng)中,所以不可寫(xiě),如果設(shè)置了可寫(xiě)位將被忽略??梢栽O(shè)置可執(zhí)行位。如果不熟悉UNIX文件權(quán)限模式,可以使用權(quán)限計(jì)算器 。

例如以下示例,指定config名稱(chēng)為my_config,授予redis服務(wù)對(duì)my_config的訪問(wèn)權(quán)限,指定要掛載到redis服務(wù)的任務(wù)容器的路徑加文件名稱(chēng)為/redis_config,指定UID和GID均為103,指定要掛載到服務(wù)的任務(wù)容器的文件權(quán)限為0440(group-readable),但該redis服務(wù)沒(méi)有訪問(wèn)my_other_config的權(quán)限:

version: "3.8"
services:
  redis:
    image: redis:latest
    deploy:
      replicas: 1
    configs:
      - source: my_config
        target: /redis_config
        uid: '103'
        gid: '103'
        mode: 0440
configs:
  my_config:
    file: ./my_config.txt
  my_other_config:
    external: true

可以授予服務(wù)訪問(wèn)多個(gè)config的權(quán)限,并且可以混合long和short語(yǔ)法。定義config并不意味著授予服務(wù)對(duì)其的訪問(wèn)權(quán)限。

6. container_name

指定自定義容器的名稱(chēng),而不是使用默認(rèn)名稱(chēng)。例如:

container_name: my-web-container

因?yàn)镈ocker容器的名稱(chēng)必須唯一,所以為一個(gè)服務(wù)指定了自定義容器名稱(chēng)后,該服務(wù)不能進(jìn)行擴(kuò)展。如果嘗試為該服務(wù)擴(kuò)容將會(huì)導(dǎo)致錯(cuò)誤。

使用docker stack deploy時(shí)的注意事項(xiàng):在swarm mode下部署堆棧時(shí),container_name配置項(xiàng)將被忽略。

7. credential_spec

在3.3版的配置文件格式中加入

在3.8或更高版本文件格式中支持將組托管服務(wù)帳戶(GMSA)配置與Compose配置文件一起使用。

配置托管服務(wù)帳戶的憑據(jù)規(guī)格(credential spec)。此選項(xiàng)僅用于使用Windows容器的服務(wù)。credential_spec配置必須采用file://或registry://格式。使用file:時(shí),引用的文件必須存在于Docker數(shù)據(jù)目錄的CredentialSpecs子目錄中,在Windows上,Docker數(shù)據(jù)目錄默認(rèn)為C:\ProgramData\Docker\。以下示例從名為C:\ProgramData\Docker\CredentialSpecs\my-credential-spec.json的文件加載憑證規(guī)格:

credential_spec:
  file: my-credential-spec.json

使用registry:時(shí),將從守護(hù)進(jìn)程主機(jī)上的Windows注冊(cè)表中讀取憑據(jù)規(guī)格。其注冊(cè)表值必須位于HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Containers\CredentialSpecs。以下示例從注冊(cè)表中名為my-credential-spec的值加載憑證規(guī)格:

credential_spec:
  registry: my-credential-spec

為服務(wù)配置GMSA憑據(jù)規(guī)格時(shí),只需用config指定憑據(jù)規(guī)格。例如:

version: "3.8"
services:
  myservice:
    image: myimage:latest
    credential_spec:
      config: my_credential_spec
configs:
  my_credentials_spec:
    file: ./my-credential-spec.json|

8. depends_on

指定服務(wù)之間的依賴(lài)關(guān)系,解決服務(wù)啟動(dòng)先后順序問(wèn)題。指定服務(wù)之間的依賴(lài)關(guān)系,將會(huì)導(dǎo)致以下行為:

docker-compose up以依賴(lài)順序啟動(dòng)服務(wù)。

docker-compose up SERVICE會(huì)自動(dòng)包含SERVICE的依賴(lài)項(xiàng)。

docker-compose stop以依賴(lài)順序停止服務(wù)。

例如以下示例:

version: "3.8"
services:
  web:
    build: .
    depends_on:
      - db
      - redis
  redis:
    image: redis
  db:
    image: postgres

啟動(dòng)時(shí)會(huì)先啟動(dòng)db和redis,最后才啟動(dòng)web。在使用docker-compose up web啟動(dòng)web時(shí),也會(huì)啟動(dòng)db和redis,因?yàn)樵趙eb服務(wù)中指定了依賴(lài)關(guān)系。在停止時(shí)也在web之前先停止db和redis。

使用depends_on時(shí)的注意事項(xiàng):

服務(wù)不會(huì)等待該服務(wù)所依賴(lài)的服務(wù)完全啟動(dòng)之后才啟動(dòng)。例如上例,web不會(huì)等到db和redis完全啟動(dòng)之后才啟動(dòng)。

V3版不再支持的condition形式的depends_on。

V3版中,在swarm mode下部署堆棧時(shí),depends_on配置項(xiàng)將被忽略。

9. deploy

在3版的配置文件格式中加入

指定部署和運(yùn)行服務(wù)的相關(guān)配置。該配置僅在swarm mode下生效,并只能通過(guò)docker stack deploy命令部署,docker-compose up和docker-compose run命令將被忽略。例如:

version: "3.8"
services:
  redis:
    image: redis:alpine
    deploy:
      replicas: 6
      placement:
        max_replicas_per_node: 1
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure

deploy配置項(xiàng)中包含endpoint_mode、labels、mode、placement、replicas、resources、restart_policy、update_config等子配置項(xiàng)。

(1) endpoint_mode

在3.2版的配置文件格式中加入

為外部客戶端連接到swarm指定服務(wù)發(fā)現(xiàn)方式:

endpoint_mode: vip:Docker為服務(wù)分配了一個(gè)前端的虛擬IP,客戶端通過(guò)該虛擬IP訪問(wèn)網(wǎng)絡(luò)上的服務(wù)。Docker在客戶端和服務(wù)的可用工作節(jié)點(diǎn)之間進(jìn)行路由請(qǐng)求,而無(wú)須關(guān)系有多少節(jié)點(diǎn)正在參與該服務(wù)或這些節(jié)點(diǎn)的IP地址或者端口。這是默認(rèn)設(shè)置。

endpoint_mode: dnsrr:DNS輪詢(xún)(DNSRR),Docker設(shè)置服務(wù)的DNS條目,以便對(duì)服務(wù)名稱(chēng)的DNS查詢(xún)返回IP地址列表,并且客戶端通過(guò)輪詢(xún)的方式直接連接到其中之一。

例如:

version: "3.8"
services:
  wordpress:
    image: wordpress
    ports:
      - "8080:80"
    deploy:
      mode: replicated
      replicas: 2
      endpoint_mode: vip

(2) labels

指定服務(wù)的標(biāo)簽。這些標(biāo)簽僅在服務(wù)上設(shè)置,而不在服務(wù)的任何容器上設(shè)置。例如:

version: "3.8"
services:
  web:
    image: web
    deploy:
      labels:
        com.example.description: "This label will appear on the web service"

(3) mode

指定服務(wù)的容器副本模式。可以為:

global:每個(gè)swarm節(jié)點(diǎn)只有一個(gè)該服務(wù)容器。

replicated:整個(gè)集群中存在指定份數(shù)的服務(wù)容器副本,為默認(rèn)值。

例如,指定容器副本模式為global:

version: "3.8"
services:
  worker:
    image: dockersamples/examplevotingapp_worker
    deploy:
      mode: global

(4) placement

指定constraints和preferences。constraints可以指定只有符合要求的節(jié)點(diǎn)上才能運(yùn)行該服務(wù)容器,preferences可以指定容器分配策略。例如,指定集群中只有滿足node.rolemanager和engine.labels.operatingsystemubuntu 18.04條件的節(jié)點(diǎn)上能運(yùn)行db服務(wù)容器,并且在滿足node.labels.zone的節(jié)點(diǎn)上均勻分配:

version: "3.8"
services:
  db:
    image: postgres
    deploy:
      placement:
        constraints:
          - "node.role==manager"
          - "engine.labels.operatingsystem==ubuntu 18.04"
        preferences:
          - spread: node.labels.zone

(5) max_replicas_per_node

在3.8版的配置文件格式中加入

如果服務(wù)的容器副本模式為replicated(默認(rèn)),可以指定每個(gè)節(jié)點(diǎn)上運(yùn)行的最大容器副本數(shù)量。當(dāng)指定的容器副本數(shù)量大于最大容器副本數(shù)量時(shí),將引發(fā)no suitable node (max replicas per node limit exceed)錯(cuò)誤。例如:

version: "3.8"
services:
  worker:
    image: dockersamples/examplevotingapp_worker
    networks:
      - frontend
      - backend
    deploy:
      mode: replicated
      replicas: 6
      placement:
        max_replicas_per_node: 1

(6) replicas

如果服務(wù)的容器副本模式為replicated(默認(rèn)),指定運(yùn)行的容器副本數(shù)量。例如:

version: "3.8"
services:
  worker:
    image: dockersamples/examplevotingapp_worker
    networks:
      - frontend
      - backend
    deploy:
      mode: replicated
      replicas: 6

(7) resources

配置資源限制。例如,指定redis服務(wù)使用的cpu份額為25%到50%,內(nèi)存為20M到50M:

version: "3.8"
services:
  redis:
    image: redis:alpine
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 50M
        reservations:
          cpus: '0.25'
          memory: 20M

在V3版Compose配置文件中的改變:resources取代了V3版之前的Compose配置文件中舊的資源限制的配置項(xiàng),包括cpu_shares、cpu_quota、cpuset、mem_limit、memswap_limit、mem_swappiness。

在非swarm mode容器上設(shè)置資源限制:此處的resources配置項(xiàng)只有用于deploy配置項(xiàng)之下和swarm mode。如果要在非swarm mode部署中設(shè)置資源限制,需使用V2版Compose配置文件中CPU、memory和其他資源的配置項(xiàng)。

(8) restart_policy

指定容器的重啟策略。代替restart。有以下配置選項(xiàng):

condition:重啟策略。值可以為none、on-failure或any,默認(rèn)為any。

delay:嘗試重啟的等待時(shí)間。指定為持續(xù)時(shí)間(durations)。默認(rèn)值為0。

max_attempts:重啟最多嘗試的次數(shù),超過(guò)該次數(shù)將放棄。默認(rèn)為永不放棄。如果在window配置的時(shí)間之內(nèi)未成功重啟,則此次嘗試不計(jì)入max_attempts的值。

window:在決定重啟是否成功之前的等待時(shí)間。指定為持續(xù)時(shí)間(durations)。默認(rèn)值為立即決定。

例如,指定重啟策略為失敗時(shí)重啟,等待5s,重啟最多嘗試3次,決定重啟是否成功前的等待時(shí)間為120s:

version: "3.8"
services:
  redis:
    image: redis:alpine
    deploy:
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s

(9) rollback_config

在3.7版的配置文件格式中加入

配置在更新失敗的情況下如何回滾服務(wù)。有以下配置選項(xiàng):

parallelism:一次回滾的容器數(shù)量。如果設(shè)置為0,則所有容器同時(shí)回滾。

delay:每個(gè)容器組之間的回滾所等待的時(shí)間。默認(rèn)值為0s。

failure_action:回滾失敗后的行為。有continue和pause兩種,默認(rèn)值為pause。

monitor:每次任務(wù)更新后監(jiān)視失敗的時(shí)間(ns|us|ms|s|m|h)。默認(rèn)值為0s。

max_failure_ratio:在回滾期間能夠容忍的最大失敗率。默認(rèn)值為0。

order:設(shè)置回滾順序。stop-first為在開(kāi)啟新任務(wù)之前停止舊任務(wù),start-first為首先啟動(dòng)新任務(wù),和正在運(yùn)行任務(wù)短暫重疊,默認(rèn)值為stop-first。

(10) update_config

配置如何更新服務(wù)。該配置對(duì)滾動(dòng)更新很有用。有以下配置選項(xiàng):

parallelism:一次更新的容器數(shù)量。

delay:更新一組容器之間的等待時(shí)間。

failure_action:更新失敗后的行為。有continue、rollback和pause三種,默認(rèn)值為pause。

monitor:每次任務(wù)更新后監(jiān)視失敗的時(shí)間(ns|us|ms|s|m|h)。默認(rèn)值為0s。

max_failure_ratio:在更新期間能夠容忍的最大失敗率。

order:設(shè)置更新順序。stop-first為在開(kāi)啟新任務(wù)之前停止舊任務(wù),start-first為首先啟動(dòng)新任務(wù),和正在運(yùn)行任務(wù)短暫重疊,默認(rèn)值為stop-first。注意該配置項(xiàng)在3.4版的配置文件格式中加入,僅支持3.4或更高版本。

例如,指定每次更新2個(gè)容器,更新等待時(shí)間10s,更新順序?yàn)橄韧V古f任務(wù)再開(kāi)啟新任務(wù):

version: "3.8"
services:
  vote:
    image: dockersamples/examplevotingapp_vote:before
    depends_on:
      - redis
    deploy:
      replicas: 2
      update_config:
        parallelism: 2
        delay: 10s
        order: stop-first

(11) 不支持docker stack deploy的配置項(xiàng)

以下為支持docker-compose up和docker-compose run,不支持docker stack deploy或deploy配置項(xiàng)的配置項(xiàng):

build
cgroup_parent
container_name
devices
tmpfs
external_links
links
network_mode
restart
security_opt
userns_mode

10. devices

指定設(shè)備映射列表。與Docker客戶端create的--device選項(xiàng)類(lèi)似。例如:

devices:
  - "/dev/ttyUSB0:/dev/ttyUSB0"

使用docker stack deploy時(shí)的注意事項(xiàng):在swarm mode下部署堆棧時(shí),devices配置選項(xiàng)將被忽略。

11. dns

自定義DNS服務(wù)器。可以是一個(gè)值或一個(gè)列表。例如:

dns: 8.8.8.8
dns:
  - 8.8.8.8
  - 9.9.9.9

12. dns_search

自定義DNS搜索域??梢允且粋€(gè)值或一個(gè)列表。例如:

dns_search: example.com
dns_search:
  - dc1.example.com
  - dc2.example.com

13. entrypoint

覆蓋默認(rèn)的入口命令。注意設(shè)置entrypoint會(huì)覆蓋所有在服務(wù)鏡像上使用Dockerfile的ENTRYPOINT指令設(shè)置的默認(rèn)入口命令,并清除掉服務(wù)鏡像上任何使用Dockerfile的CMD指令設(shè)置的啟動(dòng)容器時(shí)默認(rèn)執(zhí)行的命令??梢詫?xiě)成字符串形式,例如:

entrypoint: /code/entrypoint.sh

也可以寫(xiě)成JSON數(shù)組形式,例如:

entrypoint: ["php", "-d", "memory_limit=-1", "vendor/bin/phpunit"]

14. env_file

從文件中獲取環(huán)境變量。可以是一個(gè)值或一個(gè)列表。例如:

env_file: .env
env_file:
  - ./common.env
  - ./apps/web.env
  - /opt/runtime_opts.env

如果指定了Compose配置文件,env_file路徑為相對(duì)于該文件所在目錄的路徑。如果環(huán)境文件中設(shè)置有與environment選項(xiàng)同名的變量,將以后者為準(zhǔn),無(wú)論這些變量的值是空還是未定義。其中環(huán)境文件每行都以VAR=VAL格式聲明環(huán)境變量,以#開(kāi)頭的行被解析為注釋?zhuān)涂招幸粯訉⒈缓雎?。環(huán)境文件示例如下:

# Set Rails/Rack environment
RACK_ENV=development

如果變量的值被引號(hào)引起來(lái)(通常是shell變量),則引號(hào)也包含在傳遞給Compose的值中。如果以列表的形式同時(shí)指定了多個(gè)環(huán)境文件,列表中文件的順序?qū)τ诮o多次出現(xiàn)的環(huán)境變量確定值十分重要,且列表中的文件是從上到下處理的。如果指定了多個(gè)環(huán)境文件且有至少兩個(gè)文件聲明了相同名稱(chēng)但不同值的環(huán)境變量,那么指定列表中順序靠下的文件將覆蓋順序靠上的文件中的相同名稱(chēng)的環(huán)境變量的值。例如:

services:
  some-service:
    env_file:
      - a.env
      - b.env

如果a.env中有VAR=1,b.env中有VAR=2,則最終$VAR=2。

注意:這里所說(shuō)的環(huán)境變量是針對(duì)宿主機(jī)的Compose而言的,如果在服務(wù)中指定了build配置項(xiàng),那么這些變量并不會(huì)進(jìn)入構(gòu)建過(guò)程中,如果要定義構(gòu)建時(shí)用的環(huán)境變量首選build的arg子選項(xiàng)。

15. environment

設(shè)置環(huán)境變量。可以使用數(shù)組或字典兩種格式。任何布爾類(lèi)型的值都必須用引號(hào)引起來(lái),以便解析器將它們解釋為字符串。值設(shè)置了鍵沒(méi)設(shè)置值的環(huán)境變量可以在運(yùn)行Compose的主機(jī)環(huán)境中解析它們的值,這對(duì)于使用密鑰和特定于主機(jī)的值用處很大。例如:

environment:
  RACK_ENV: development
  SHOW: 'true'
  SESSION_SECRET:
environment:
  - RACK_ENV=development
  - SHOW=true
  - SESSION_SECRET

注意:這里所說(shuō)的環(huán)境變量是針對(duì)宿主機(jī)的Compose而言的,如果在服務(wù)中指定了build配置項(xiàng),那么這些變量并不會(huì)進(jìn)入構(gòu)建過(guò)程中,如果要定義構(gòu)建時(shí)用的環(huán)境變量首選build的arg子選項(xiàng)。

16. expose

暴露指定端口,但不映射到宿主機(jī),只被連接的服務(wù)訪問(wèn)。只能指定內(nèi)部端口。例如:

expose:
  - "3000"
  - "8000"

17. external_links

鏈接到docker-compose.yml外部的容器,甚至并非Compose管理的外部容器,特別是對(duì)于提供共享或公共服務(wù)的容器。在同時(shí)指定容器名稱(chēng)和鏈接別名(CONTAINER:ALIAS)時(shí),external_links與舊版本中的配置項(xiàng)links有類(lèi)似的語(yǔ)義。例如:

external_links:
  - redis_1
  - project_db_1:mysql
  - project_db_1:postgresql

注意:Compose項(xiàng)目里面的容器連接到外部容器的前提條件是外部容器中必須至少有一個(gè)容器連接到與項(xiàng)目?jī)?nèi)的服務(wù)的同一個(gè)網(wǎng)絡(luò)里面。建議使用networks代替舊版本中的配置項(xiàng)Links。

使用docker stack deploy時(shí)的注意事項(xiàng):在swarm mode下部署堆棧時(shí),external_links配置項(xiàng)將被忽略。

18. extra_hosts

添加主機(jī)名到IP的映射。使用和Docker客戶端中的--add-host的參數(shù)一樣的值。例如:

extra_hosts:
  - "somehost:162.242.195.82"
  - "otherhost:50.31.209.229"

會(huì)在啟動(dòng)后的服務(wù)容器中的/etc/hosts文件中添加如下兩條具有主機(jī)名和IP地址的條目:

162.242.195.82  somehost
50.31.209.229   otherhost

19. healthcheck

配置運(yùn)行檢查以確定服務(wù)容器是否健康。支持以下配置選項(xiàng):

  • test:指定健康檢測(cè)的方法。
  • interval:?jiǎn)?dòng)容器到進(jìn)行健康檢查的間隔時(shí)間以及兩次健康檢查的間隔時(shí)間。
  • timeout:?jiǎn)未谓】禉z查的超時(shí)時(shí)間,超過(guò)該時(shí)間該次健康檢查失敗。
  • retries:健康檢查失敗后的最大重試次數(shù),重試了最大次數(shù)依然失敗,容器將被視為unhealthy。
  • start_period:為需要時(shí)間引導(dǎo)的容器提供的初始化時(shí)間,在此期間檢查失敗將不計(jì)入最大重試次數(shù),但是如果在啟動(dòng)期間健康檢查成功,則會(huì)將容器視為已啟動(dòng),并且所有連續(xù)失敗將計(jì)入最大重試次數(shù)。

其中interval、timeout和start_period都被指定為持續(xù)時(shí)間(durations)。start_period是在3.4版的配置文件格式中加入。test必須是字符串或JSON數(shù)組格式。如果是JSON數(shù)組格式,第一項(xiàng)必須是NONE、CMD或CMD-SHELL其中之一。如果是字符串格式,則等效于指定CMD-SHELL后跟該字符串的JSON數(shù)組格式。

例如以下示例,指定檢測(cè)方法為訪問(wèn)http://localhost,健康檢查間隔時(shí)間為1m30s,健康檢查超時(shí)時(shí)間為10s,重試次數(shù)為3,啟動(dòng)容器后等待健康檢查的初始化時(shí)間為40s:

healthcheck:
  test: ["CMD", "curl", "-f", "http://localhost"]
  interval: 1m30s
  timeout: 10s
  retries: 3
  start_period: 40s

例如以下示例,兩種形式等效:

test: ["CMD-SHELL", "curl -f http://localhost || exit 1"]
test: curl -f https://localhost || exit 1

使用disable: true可以設(shè)置鏡像禁用所有健康檢查,相對(duì)于test: ["NONE"]。例如:

healthcheck:
  disable: true

20. image

指定要從中啟動(dòng)容器的鏡像。可以寫(xiě)倉(cāng)庫(kù)/標(biāo)簽(repository/tag)或鏡像ID。示例如下:

image: redis
image: ubuntu:18.04
image: tutum/influxdb
image: example-registry.com:4000/postgresql
image: a4bc65fd

如果鏡像不存在,Compose會(huì)自動(dòng)拉取鏡像,除非指定了build,這種情況下會(huì)使用指定選項(xiàng)構(gòu)建鏡像并給鏡像打上指定標(biāo)簽。

21. init

在3.7版的配置文件格式中加入

在容器內(nèi)運(yùn)行一個(gè)初始化程序以轉(zhuǎn)發(fā)信號(hào)并獲取進(jìn)程。設(shè)置為true即可為服務(wù)啟動(dòng)此功能。例如:

version: "3.8"
services:
  web:
    image: alpine:latest
    init: true

注意:默認(rèn)使用的初始化二進(jìn)制文件是Tini,并安裝在主機(jī)守護(hù)進(jìn)程的/usr/libexec/docker-init。可以通過(guò)Daemon configuration file中的init-path將守護(hù)進(jìn)程配置為使用自定義的初始化二進(jìn)制文件 。

22. isolation

指定容器的隔離技術(shù)。Linux上只支持default值。Windows上支持default、process和hyperv這三個(gè)值。

23. labels

將元數(shù)據(jù)以標(biāo)簽的形式添加到容器中??梢允褂脭?shù)組或字典兩種格式。例如:

labels:
  com.example.description: "Accounting webapp"
  com.example.department: "Finance"
  com.example.label-with-empty-value: ""
labels:
  - "com.example.description=Accounting webapp"
  - "com.example.department=Finance"
  - "com.example.label-with-empty-value"

24. links

警告:--link是Docker的遺留功能。它最終可能會(huì)被刪除。建議您使用用戶自定義網(wǎng)絡(luò)代替--link來(lái)進(jìn)行兩個(gè)容器間的通信。用戶自定義的網(wǎng)絡(luò)不支持--link在容器之間共享的環(huán)境變量的功能。但是可以使用例如數(shù)據(jù)卷之類(lèi)的其他機(jī)制以更可控的方式在容器之間共享環(huán)境變量。

鏈接到其他服務(wù)中的容器??梢允褂?quot;SERVICE:ALIAS"或"SERVICE"的格式,其中SERVICE為服務(wù)名稱(chēng),ALIAS為鏈接別名。例如:

web:
  links:
    - "db"
    - "db:database"
    - "redis"

鏈接服務(wù)的容器可以通過(guò)與別名相同的主機(jī)名訪問(wèn),如果未指定別名,則可以使用服務(wù)名。默認(rèn)情況下,不需要鏈接即可使服務(wù)進(jìn)行通信,任何服務(wù)都可以使用該服務(wù)的名稱(chēng)訪問(wèn)任何其他服務(wù)。鏈接也可以和depends_on一樣表示服務(wù)之間的依賴(lài)關(guān)系 ,因此可以確定服務(wù)啟動(dòng)的順序。

注意:如果同時(shí)定義鏈接和網(wǎng)絡(luò),則它們之間具有鏈接的服務(wù)必須共享至少一個(gè)公共網(wǎng)絡(luò)才能進(jìn)行通信。

使用docker stack deploy時(shí)的注意事項(xiàng):在swarm mode下部署堆棧時(shí),links配置項(xiàng)將被忽略。

25. logging

服務(wù)的日志配置。例如:

logging:
  driver: syslog
  options:
    syslog-address: "tcp://192.168.0.42:123"

driver配置項(xiàng)指定服務(wù)容器的日志驅(qū)動(dòng),與docker run中的--log-driver選項(xiàng)一樣。默認(rèn)值為json-file,這里列舉三種日志驅(qū)動(dòng)類(lèi)型:

driver: "json-file"
driver: "syslog"
driver: "none"

使用options配置項(xiàng)為日志驅(qū)動(dòng)指定日志記錄選項(xiàng),與docker run中的--log-opt選項(xiàng)一樣。例如:

driver: "syslog"
options:
  syslog-address: "tcp://192.168.0.42:123"

默認(rèn)日志驅(qū)動(dòng)json-file具有限制日志存儲(chǔ)量的選項(xiàng)。例如以下示例,max-size設(shè)置最大存儲(chǔ)大小為200k,max-file設(shè)置存儲(chǔ)的最大文件數(shù)為10,隨著日志超過(guò)最大限制,將刪除較舊的日志文件以允許存儲(chǔ)新日志:

options:
  max-size: "200k"
  max-file: "10"

26. network_mode

設(shè)置網(wǎng)絡(luò)模式。使用和Docker客戶端中的--network的參數(shù)一樣的值,格式為service:[service name]??梢灾付ㄊ褂梅?wù)或者容器的網(wǎng)絡(luò)。示例如下:

network_mode: "bridge"
network_mode: "host"
network_mode: "none"
network_mode: "service:[service name]"
network_mode: "container:[container name/id]"

注意事項(xiàng):

在swarm mode下部署堆棧時(shí),該選項(xiàng)將被忽略。

network_mode: "host"不能與links配置項(xiàng)混用。

27. networks

指定所加入的網(wǎng)絡(luò)。需要在頂層networks配置項(xiàng)中引入具體的網(wǎng)絡(luò)信息。例如:

services:
  some-service:
    networks:
     - some-network
     - other-network
networks:
  some-network:
  other-network:

(1) aliases

指定服務(wù)在此網(wǎng)絡(luò)上的別名(備用主機(jī)名)。同一網(wǎng)絡(luò)上的其他容器可以使用服務(wù)名稱(chēng)或此別名來(lái)連接到服務(wù)的任何一個(gè)容器。由于aliases屬于網(wǎng)絡(luò)范圍,因此同一服務(wù)在不同的網(wǎng)絡(luò)上可以具有不同的別名。例如:

services:
  some-service:
    networks:
      some-network:
        aliases:
          - alias1
          - alias3
      other-network:
        aliases:
          - alias2

在以下示例中,提供了web、worker和db三個(gè)服務(wù),以及new和legacy兩個(gè)網(wǎng)絡(luò):

version: "3.8"
services:
  web:
    image: "nginx:alpine"
    networks:
      - new
  worker:
    image: "my-worker-image:latest"
    networks:
      - legacy
  db:
    image: mysql
    networks:
      new:
        aliases:
          - database
      legacy:
        aliases:
          - mysql
networks:
  new:
  legacy:

在該例中,可以通過(guò)主機(jī)名db或database在new網(wǎng)絡(luò)上訪問(wèn)db服務(wù),通過(guò)db或mysql在legacy網(wǎng)絡(luò)上訪問(wèn)db服務(wù)。

注意:網(wǎng)絡(luò)范圍內(nèi)的別名可以被多個(gè)容器甚至多個(gè)服務(wù)共享。如果是這樣,則不能保證名稱(chēng)恰好解析到哪一個(gè)容器。

(2) ipv4_address、ipv6_address

加入網(wǎng)絡(luò)后,為此服務(wù)的容器指定一個(gè)靜態(tài)IP地址。在頂層networks配置項(xiàng)中的相應(yīng)網(wǎng)絡(luò)配置必須有子網(wǎng)配置覆蓋每個(gè)靜態(tài)地址的ipam配置。例如:

version: "3.8"
services:
  app:
    image: nginx:alpine
    networks:
      app_net:
        ipv4_address: 172.16.238.10
        ipv6_address: 2001:3984:3989::10
networks:
  app_net:
    ipam:
      driver: default
      config:
        - subnet: "172.16.238.0/24"
        - subnet: "2001:3984:3989::/64"

注意:如果需要IPv6尋址,則必須使用V2.x版本的Compose配置文件并設(shè)置頂層networks配置項(xiàng)下的enable_ipv6選項(xiàng)。在當(dāng)前swarm mode下IPv6選項(xiàng)不會(huì)起作用。

28. pid

跟主機(jī)系統(tǒng)共享進(jìn)程命名空間。

pid: "host"
將PID模式設(shè)置為主機(jī)PID模式,打開(kāi)該選項(xiàng)的容器之間,以及容器和宿主機(jī)操作系統(tǒng)之間可以通過(guò)進(jìn)程ID來(lái)相互訪問(wèn)和操作。

29. ports

暴露端口。注意端口映射與network_mode: host不兼容。支持short和long兩種格式的語(yǔ)法。short語(yǔ)法可以使用HOST:CONTAINER的格式指定端口映射,也可以指定容器端口,宿主機(jī)會(huì)隨機(jī)選擇臨時(shí)端口進(jìn)行映射。例如:

ports:
  - "3000"
  - "3000-3005"
  - "8000:8000"
  - "9090-9091:8080-8081"
  - "49100:22"
  - "127.0.0.1:8001:8001"
  - "127.0.0.1:5000-5010:5000-5010"
  - "6060:6060/udp"
  - "12400-12500:1240"

注意:當(dāng)使用HOST:CONTAINE格式來(lái)映射端口時(shí),如果使用的容器端口小于60可能會(huì)得到錯(cuò)誤得結(jié)果,因?yàn)閅AML將會(huì)解析xx:yy這種數(shù)字格式為60進(jìn)制,因此建議始終采用字符串格式來(lái)指定端口映射。

long語(yǔ)法支持配置short語(yǔ)法中不支持的附加字段。這些附加字段如下:

  • target:指定容器內(nèi)的端口。
  • published:指定公開(kāi)的端口。
  • protocol:指定端口協(xié)議(tcp或udp)。
  • mode:使用host在每個(gè)節(jié)點(diǎn)公開(kāi)一個(gè)主機(jī)端口,或使用ingress對(duì)swarm mode端口進(jìn)行負(fù)載均衡。

示例如下:

ports:
  - target: 80
    published: 8080
    protocol: tcp
    mode: host

long語(yǔ)法在3.2版的配置文件格式中加入

30. restart

指定重啟策略。例如想要在容器退出時(shí)總是會(huì)重啟容器,指定以下重啟策略:

restart: always

一共支持以下重啟策略:

  • no:在任何情況下都不會(huì)重啟容器。默認(rèn)的重啟策略。
  • always:在容器退出時(shí)總是重啟容器。
  • on-failure:在容器以非0狀態(tài)碼退出時(shí)才會(huì)重啟。
  • unless-stopped:在容器退出時(shí)總是重啟容器,但是不考慮在Docker守護(hù)進(jìn)程啟動(dòng)時(shí)就已經(jīng)停止了的容器。

使用docker stack deploy時(shí)的注意事項(xiàng):在swarm mode下部署堆棧時(shí),restart配置項(xiàng)將被忽略。

31. secrets

為每個(gè)服務(wù)授予對(duì)保密數(shù)據(jù)(secrets)的訪問(wèn)權(quán)限。支持short和long兩種格式的語(yǔ)法。更多secrets信息,參考secrets。

使用docker stack deploy時(shí)的注意事項(xiàng):該保密數(shù)據(jù)(secret)必須已存在或者在Compose配置文件頂層secrets配置項(xiàng)中定義,否則堆棧部署將失敗。

short語(yǔ)法僅指定secret名稱(chēng)來(lái)授予容器訪問(wèn)secret數(shù)據(jù)的權(quán)限并將其掛載到容器的/run/secrets/<secret_name>上。source名稱(chēng)和目標(biāo)掛載點(diǎn)都設(shè)置為secret名稱(chēng)。例如以下示例,授予了redis服務(wù)對(duì)secrets的my_secret和my_other_secret的訪問(wèn)權(quán)限,其中my_secret的值設(shè)置到文件./my_secret.txt的內(nèi)容中,my_other_secret定義為外部資源,這意味著它已經(jīng)在Docker中通過(guò)運(yùn)行docker secret create命令或其他堆棧部署進(jìn)行定義,如果外部secret不存在,堆棧部署將會(huì)失敗并顯示secret not found錯(cuò)誤:

version: "3.8"
services:
  redis:
    image: redis:latest
    deploy:
      replicas: 1
    secrets:
      - my_secret
      - my_other_secret
secrets:
  my_secret:
    file: ./my_secret.txt
  my_other_secret:
    external: true

long語(yǔ)法提供了在服務(wù)的任務(wù)容器內(nèi)如何創(chuàng)建secret的更多粒度:

  • source:Docker中存在的secret名稱(chēng)。
  • target:指定要掛載到服務(wù)的任務(wù)容器的/run/secrets/中的文件名稱(chēng)。如果未指定,默認(rèn)為source的值。
  • uid和gid:指定服務(wù)的任務(wù)容器的/run/secrets/中所擁有的該文件的UID或GID。如果未指定,兩者都默認(rèn)為0。
  • mode:以八進(jìn)制表示法指定要掛載到服務(wù)的任務(wù)容器的/run/secrets/中的文件權(quán)限。例如,0444代表可讀。默認(rèn)值在Docker 1.13.1為0000,在較新版本為0444。secret內(nèi)容已掛載到臨時(shí)文件系統(tǒng)中,所以不可寫(xiě),如果設(shè)置了可寫(xiě)位將被忽略??梢栽O(shè)置可執(zhí)行位。如果不熟悉UNIX文件權(quán)限模式,可以使用權(quán)限計(jì)算器 。

例如以下示例,指定secret名稱(chēng)為my_secret,授予redis服務(wù)對(duì)my_secret的訪問(wèn)權(quán)限,指定要掛載到redis服務(wù)的任務(wù)容器的/run/secrets/中的文件名稱(chēng)為redis_secret,指定UID和GID均為103,指定要掛載到服務(wù)的任務(wù)容器的/run/secrets/中的文件權(quán)限為0440(group-readable),但該redis服務(wù)沒(méi)有訪問(wèn)my_other_secret的權(quán)限:

version: "3.8"
services:
  redis:
    image: redis:latest
    deploy:
      replicas: 1
    secrets:
      - source: my_secret
        target: redis_secret
        uid: '103'
        gid: '103'
        mode: 0440
secrets:
  my_secret:
    file: ./my_secret.txt
  my_other_secret:
    external: true

可以授予服務(wù)訪問(wèn)多個(gè)secret的權(quán)限,并且可以混合long和short語(yǔ)法。定義secret并不意味著授予服務(wù)對(duì)其的訪問(wèn)權(quán)限。

32. security_opt

為每個(gè)容器覆蓋默認(rèn)的標(biāo)簽(label)。例如配置標(biāo)簽中的用戶名和角色名:

security_opt:
  - label:user:USER
  - label:role:ROLE

使用docker stack deploy時(shí)的注意事項(xiàng):在swarm mode下部署堆棧時(shí),security_opt配置項(xiàng)將被忽略。

33. stop_grace_period

指定在發(fā)送SIGKILL之前,如果容器無(wú)法處理SIGTERM或使用stop_signal指定的任何停止信號(hào)時(shí),試圖停止該容器所需要的等待時(shí)間。默認(rèn)情況下,stop在發(fā)送SIGKILL之前等待10秒以退出容器。時(shí)間指定為duration。具體示例如下:

stop_grace_period: 1s
stop_grace_period: 1m30s

34. stop_signal

設(shè)置停止容器的信號(hào)。默認(rèn)使用SIGTERM停止容器。例如指定SIGUSR1信號(hào):

stop_signal: SIGUSR1

35. sysctls

在容器中設(shè)置的內(nèi)核參數(shù)??梢允褂脭?shù)組或字典兩種格式。例如指定連接數(shù)為1024和開(kāi)啟TCP的syncookies:

sysctls:
  net.core.somaxconn: 1024
  net.ipv4.tcp_syncookies: 0
sysctls:
  - net.core.somaxconn=1024
  - net.ipv4.tcp_syncookies=0

使用docker stack deploy時(shí)的注意事項(xiàng):在swarm mode下部署堆棧時(shí),sysctls配置項(xiàng)要求Docker Engine 19.03或以上。

36. tmpfs

在3.6版的配置文件格式中加入

掛載一個(gè)臨時(shí)文件系統(tǒng)到容器內(nèi)部??梢允且粋€(gè)值或一個(gè)列表。例如:

tmpfs: /run
1.
tmpfs:
  - /run
  - /tmp

在容器內(nèi)掛載一個(gè)臨時(shí)文件系統(tǒng)。Size可以指定掛載的tmpfs大小,以字節(jié)為單位。默認(rèn)情況下不受限制。例如:

- type: tmpfs
     target: /app
     tmpfs:
       size: 1000

使用docker stack deploy時(shí)的注意事項(xiàng):在swarm mode下部署堆棧時(shí)使用3至3.5版本的Compose配置文件,tmpfs配置項(xiàng)將被忽略。

37. ulimits

覆蓋容器的默認(rèn)ulimit值??梢詥我坏貙⑾拗浦翟O(shè)為一個(gè)整數(shù),也可以將soft/hard限制指定為映射。例如,指定最大進(jìn)程數(shù)為65535,指定文件句柄數(shù),其中軟限制為20000,系統(tǒng)硬限制為40000,軟限制應(yīng)用可以隨時(shí)修改,不能超過(guò)硬限制,硬限制只能root用戶提高:

ulimits:
  nproc: 65535
  nofile:
    soft: 20000
    hard: 40000

38. userns_mode

指定用戶命名空間模式。如果Docker守護(hù)進(jìn)程配置了用戶名稱(chēng)空間,則禁用此服務(wù)的用戶名稱(chēng)空間。以下是使用主機(jī)上的用戶命名空間的配置示例:

userns_mode: "host"
使用docker stack deploy時(shí)的注意事項(xiàng):在swarm mode下部署堆棧時(shí),userns_mode配置項(xiàng)將被忽略。

39. volumes

指定所掛載的主機(jī)路徑或數(shù)據(jù)卷名稱(chēng)。支持short和long兩種格式的語(yǔ)法??梢詫⒅鳈C(jī)路徑作為單個(gè)服務(wù)的一部分進(jìn)行掛載,而無(wú)需在頂層volumes配置項(xiàng)中定義。但是如果想要在多個(gè)服務(wù)之間重用數(shù)據(jù)卷,需要在頂層volumes配置項(xiàng)中定義一個(gè)數(shù)據(jù)卷名稱(chēng)。

在3版的配置文件格式中的變化:在頂層volumes配置項(xiàng)中定義了數(shù)據(jù)卷名稱(chēng)并從每個(gè)服務(wù)的volumes列表中引用了該數(shù)據(jù)卷。這將替代早期版本的Compose配置文件格式中的volumes_from配置項(xiàng)。

short語(yǔ)法使用通用的[SOURCE:]TARGET[:MODE]格式,SOURCE可以是主機(jī)路徑或數(shù)據(jù)卷名稱(chēng),TARGET為掛載數(shù)據(jù)卷的容器路徑,MODE可以為ro只讀模式或rw讀寫(xiě)模式(默認(rèn))??梢栽谥鳈C(jī)上掛載相對(duì)路徑,該路徑相對(duì)于正在使用的Compose配置文件的目錄進(jìn)行擴(kuò)展,相對(duì)路徑應(yīng)始終以.或..開(kāi)頭。例如:

volumes:
  #只指定一個(gè)路徑,Docker會(huì)自動(dòng)在創(chuàng)建一個(gè)數(shù)據(jù)卷(這個(gè)路徑是容器內(nèi)部的)
  - /var/lib/mysql
  #使用絕對(duì)路徑掛載數(shù)據(jù)卷
  - /opt/data:/var/lib/mysql
  #使用基于Compose配置文件的相對(duì)路徑作為數(shù)據(jù)卷掛載到容器
  - ./cache:/tmp/cache
  #使用基于root用戶的相對(duì)路徑作為數(shù)據(jù)卷掛載到容器
  - ~/configs:/etc/configs/:ro
  #使用已經(jīng)存在命名的數(shù)據(jù)卷掛載到容器
  - datavolume:/var/lib/mysql

long語(yǔ)法支持配置以下short語(yǔ)法中不支持的附加字段:

  • type:掛載類(lèi)型,可以為volume、bind、tmpfs或npipe。
  • source:掛載源,在主機(jī)上用于綁定掛載的路徑或定義在頂層volumes配置項(xiàng)中的數(shù)據(jù)卷名稱(chēng)。不適用于tmpfs掛載類(lèi)型。
  • target:數(shù)據(jù)卷掛載在容器中的路徑。
  • read_only:設(shè)置數(shù)據(jù)卷為只讀。
  • bind:配置額外的bind選項(xiàng)。
  • propagation:用于綁定的傳播模式。
  • volume:配置額外的volume選項(xiàng)。
  • nocopy:創(chuàng)建數(shù)據(jù)卷時(shí)禁止從容器復(fù)制數(shù)據(jù)。
  • tmpfs:配置額外的tmpfs選項(xiàng)。
  • size:tmpfs掛載的大小,以字節(jié)為單位。
  • consistency:掛載的一致性要求,可以為consistent、cached或delegated。其中consistent表示主機(jī)和容器具有相同視圖。cached表示讀取緩存,主機(jī)視圖是權(quán)威的。delegated表示讀寫(xiě)緩存,容器視圖是權(quán)威的。

例如:

version: "3.8"
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - type: volume
        source: mydata
        target: /data
        volume:
          nocopy: true
      - type: bind
        source: ./static
        target: /opt/app/static
networks:
  webnet:
volumes:
  mydata:

40. 其他配置項(xiàng)

此外,還有domainname、hostname、ipc、mac_address、privileged、read_only、shm_size、stdin_open、tty、user和working_dir這些配置項(xiàng)。它們都是單值配置,和docker run中的對(duì)應(yīng)選項(xiàng)類(lèi)似。注意mac_address是舊版本配置項(xiàng)。例如:

#指定容器中運(yùn)行應(yīng)用的用戶名
user: postgresql
#指定容器的工作目錄
working_dir: /code
#指定容器中的搜索域名
domainname: foo.com
#指定容器中的主機(jī)名
hostname: foo
ipc: host
#指定容器中的mac地址
mac_address: 02:42:ac:11:65:43
#指定容器為特權(quán)容器
privileged: true
#指定以只讀模式掛載容器的root文件系統(tǒng),不能對(duì)容器內(nèi)容進(jìn)行修改
read_only: true
#設(shè)置/dev/shm分區(qū)的大小
shm_size: 64M
#打開(kāi)標(biāo)準(zhǔn)輸入,可以接受外部輸入
stdin_open: true
#分配tty設(shè)備用來(lái)支持終端登錄
tty: true

四、數(shù)據(jù)卷配置

雖然可以聲明即時(shí)生效的數(shù)據(jù)卷作為服務(wù)聲明的一部分,但這部分可以通過(guò)頂層volumes配置項(xiàng)定義一個(gè)數(shù)據(jù)卷以實(shí)現(xiàn)在多個(gè)服務(wù)之間重用,并且可以使用docker命令行或API輕松進(jìn)行檢索和檢查。例如以下示例,數(shù)據(jù)庫(kù)的數(shù)據(jù)目錄作為數(shù)據(jù)卷與另一個(gè)服務(wù)共享以便定期備份:

version: "3.8"
services:
  db:
    image: db
    volumes:
      - data-volume:/var/lib/db
  backup:
    image: backup-service
    volumes:
      - data-volume:/var/lib/backup/data
volumes:
  data-volume:

頂層volumes配置項(xiàng)下的條目可以為空,這種情況下配置的默認(rèn)驅(qū)動(dòng),默認(rèn)驅(qū)動(dòng)在大多數(shù)情況下為local驅(qū)動(dòng)。下面就對(duì)數(shù)據(jù)卷的相關(guān)配置項(xiàng)進(jìn)行一個(gè)總結(jié)。

1. driver

指定該數(shù)據(jù)卷所要使用的數(shù)據(jù)卷驅(qū)動(dòng)。默認(rèn)為Docker Engine中配置使用的無(wú)論哪種驅(qū)動(dòng),大多數(shù)情況下為local驅(qū)動(dòng)。如果驅(qū)動(dòng)不可用,則引擎會(huì)在docker-compose up嘗試創(chuàng)建數(shù)據(jù)卷時(shí)返回一個(gè)錯(cuò)誤。以下為指定數(shù)據(jù)卷驅(qū)動(dòng)的示例:

driver: foobar

2. driver_opts

以鍵值對(duì)的形式指定用來(lái)傳遞給該數(shù)據(jù)卷所使用的數(shù)據(jù)卷驅(qū)動(dòng)的列表選項(xiàng)。這些選項(xiàng)取決于數(shù)據(jù)卷驅(qū)動(dòng),可以參考數(shù)據(jù)卷驅(qū)動(dòng)程序文檔。例如:

volumes:
  example:
    driver_opts:
      type: "nfs"
      o: "addr=10.40.0.199,nolock,soft,rw"
      device: ":/docker/example"

3. external

指定該數(shù)據(jù)卷是否是外部數(shù)據(jù)卷。如果設(shè)置為true,則指定該數(shù)據(jù)卷是在Compose外部創(chuàng)建的。由于docker-compose up不會(huì)嘗試創(chuàng)建該數(shù)據(jù)卷,如果該數(shù)據(jù)卷不存在則會(huì)引發(fā)錯(cuò)誤。在3.3及以下版本的Compose配置文件格式中,external配置項(xiàng)不能與包括driver、driver_opts和labels在內(nèi)的其他數(shù)據(jù)卷配置項(xiàng)同時(shí)使用,在3.4及以上版本中則沒(méi)有此限制。例如以下示例,Compose不會(huì)嘗試創(chuàng)建一個(gè)名為[projectname]_data的數(shù)據(jù)卷,而是查找一個(gè)現(xiàn)存的被簡(jiǎn)單稱(chēng)為data的數(shù)據(jù)卷并將其掛載到db服務(wù)的容器中:

version: "3.8"
services:
  db:
    image: postgres
    volumes:
      - data:/var/lib/postgresql/data
volumes:
  data:
    external: true

通過(guò)external配置項(xiàng)下的name配置項(xiàng)可以指定數(shù)據(jù)卷的名稱(chēng),該名稱(chēng)與Compose配置文件中用于引用數(shù)據(jù)卷的名稱(chēng)區(qū)分開(kāi)來(lái)。例如:

volumes:
  data:
    external:
      name: actual-name-of-volume

不過(guò)external配置項(xiàng)下的name配置項(xiàng)在3.4版的配置文件格式中就已經(jīng)被棄用了,可以用name配置項(xiàng)替代。

使用docker stack deploy時(shí)的注意事項(xiàng):如果使用docker stack deploy代替docker-compose up以swarm mode啟動(dòng)應(yīng)用,則會(huì)創(chuàng)建不存在的外部數(shù)據(jù)卷。在swarm mode下,服務(wù)定義數(shù)據(jù)卷后將自動(dòng)創(chuàng)建該卷。由于服務(wù)任務(wù)已在新節(jié)點(diǎn)上安排,因此SwarmKit將在本地節(jié)點(diǎn)上創(chuàng)建數(shù)據(jù)卷。

4. labels

將元數(shù)據(jù)以標(biāo)簽的形式添加到容器中。可以使用數(shù)組或字典兩種格式。例如:

labels:
  com.example.description: "Database volume"
  com.example.department: "IT/Ops"
  com.example.label-with-empty-value: ""
labels:
  - "com.example.description=Database volume"
  - "com.example.department=IT/Ops"
  - "com.example.label-with-empty-value"

5. name

在3.4版的配置文件格式中加入

為該數(shù)據(jù)卷設(shè)置一個(gè)自定義名稱(chēng)。例如:

version: "3.8"
volumes:
  data:
    name: my-app-data

可以和external配置項(xiàng)一起使用。例如:

version: "3.8"
volumes:
  data:
    external: true
    name: my-app-data

五、網(wǎng)絡(luò)配置

通過(guò)頂層networks配置項(xiàng)可以指定要?jiǎng)?chuàng)建的網(wǎng)絡(luò)。下面就對(duì)網(wǎng)絡(luò)的相關(guān)配置項(xiàng)進(jìn)行一個(gè)總結(jié)。

1. driver

指定該網(wǎng)絡(luò)所要使用的驅(qū)動(dòng)。默認(rèn)驅(qū)動(dòng)取決于所使用的Docker Engine的配置方式,但是在大多數(shù)情況下,單個(gè)主機(jī)上用的bridge,Swarm上用的overlay。

bridge:表示橋接,Docker在單個(gè)主機(jī)上默認(rèn)使用bridge網(wǎng)絡(luò)。

overlay:overlay驅(qū)動(dòng)在一個(gè)swarm中的多個(gè)節(jié)點(diǎn)之間創(chuàng)建一個(gè)命名網(wǎng)絡(luò)。

如果驅(qū)動(dòng)不可用,則Docker Engine會(huì)返回一個(gè)錯(cuò)誤。以下為指定卷驅(qū)動(dòng)的示例:

driver: overlay

如果想要使用主機(jī)的網(wǎng)絡(luò)堆棧,或者不使用網(wǎng)絡(luò)。這相當(dāng)于docker run --net = host或docker run --net = none。僅在使用docker stack命令時(shí)使用。如果使用docker-compose命令,需使用服務(wù)配置中的network_mode配置項(xiàng)。如果要在相同構(gòu)建版本的容器上使用特定網(wǎng)絡(luò),需要在服務(wù)配置的build下的network配置項(xiàng)中設(shè)置。例如:

services:
  web:
    build:
      network: host
      context: .

使用諸如host和none的內(nèi)置網(wǎng)絡(luò)的語(yǔ)法有所不同。定義一個(gè)名為host或none的外部網(wǎng)絡(luò)以及Compose可以使用的別名,然后使用該別名向該網(wǎng)絡(luò)授予服務(wù)訪問(wèn)權(quán)限,而且該外部網(wǎng)絡(luò)在Docker中已經(jīng)自動(dòng)創(chuàng)建。例如以下示例,定義了名為host的外部網(wǎng)絡(luò),Compose中可以使用的別名為hostnet:

version: "3.8"
services:
  web:
    networks:
      hostnet: {}
networks:
  hostnet:
    external: true
    name: host

例如以下示例,定義了名為none的外部網(wǎng)絡(luò),Compose中可以使用的別名為nonet:

services:
  web:
    networks:
      nonet: {}
networks:
  nonet:
    external: true
    name: none

2. driver_opts

以鍵值對(duì)的形式指定用來(lái)傳遞給該網(wǎng)絡(luò)所使用的驅(qū)動(dòng)的列表選項(xiàng)。這些選項(xiàng)取決于驅(qū)動(dòng),可以參考驅(qū)動(dòng)程序文檔。例如:

driver_opts:
  foo: "bar"
  baz: 1

3. attachable

在3.2版的配置文件格式中加入

指定是否允許除服務(wù)之外的獨(dú)立容器連接到該網(wǎng)絡(luò)。僅在driver設(shè)置為overlay時(shí)使用。如果設(shè)置為true,則除了服務(wù)之外的獨(dú)立容器也可以連接到該網(wǎng)絡(luò)。如果獨(dú)立容器連接到了overlay網(wǎng)絡(luò),那它可以與那些也從其他Docker守護(hù)進(jìn)程連接到overlay網(wǎng)絡(luò)的服務(wù)和獨(dú)立容器進(jìn)行通信。例如:

networks:
  mynet1:
    driver: overlay
    attachable: true

4. enable_ipv6

在該網(wǎng)絡(luò)上啟用IPv6網(wǎng)絡(luò)。

不支持V3版Compose配置文件:如果要使用enable_ipv6配置項(xiàng),則需要使用V2版Compose配置文件,因?yàn)閟warm mode尚不支持該配置項(xiàng)。

5. ipam

指定自定義IPAM配置。有以下配置選項(xiàng):

driver:自定義IPAM驅(qū)動(dòng)以代替默認(rèn)驅(qū)動(dòng)。

config:包含零個(gè)或多個(gè)配置塊的列表,每個(gè)配置塊可以有以下配置選項(xiàng)。

subnet:設(shè)置表示網(wǎng)段的CIDR格式的子網(wǎng)。

以下為指定自定義IPAM配置的示例:

ipam:
  driver: default
  config:
    - subnet: 172.28.0.0/16

注意:目前,例如gateway等其他IPAM配置僅適用于V2版Compose配置文件。

6. internal

指定是否創(chuàng)建一個(gè)與外部隔離的overlay網(wǎng)絡(luò)。默認(rèn)情況下,Docker也會(huì)將橋接網(wǎng)絡(luò)連接到它以提供外部連接。如果要?jiǎng)?chuàng)建一個(gè)與外部隔離的overlay網(wǎng)絡(luò),需將此配置項(xiàng)設(shè)置為true。

7. labels

將元數(shù)據(jù)以標(biāo)簽的形式添加到容器中。可以使用數(shù)組或字典兩種格式。例如:

labels:
  com.example.description: "Financial transaction network"
  com.example.department: "Finance"
  com.example.label-with-empty-value: ""
labels:
  - "com.example.description=Financial transaction network"
  - "com.example.department=Finance"
  - "com.example.label-with-empty-value"

8. external

指定該網(wǎng)絡(luò)是否是外部網(wǎng)絡(luò)。如果設(shè)置為true,則指定該網(wǎng)絡(luò)是在Compose外部創(chuàng)建的。由于docker-compose up不會(huì)嘗試創(chuàng)建該網(wǎng)絡(luò),如果該網(wǎng)絡(luò)不存在則會(huì)引發(fā)錯(cuò)誤。在3.3及以下版本的Compose配置文件格式中,external配置項(xiàng)不能與包括driver、driver_opts、ipam和internal等在內(nèi)的其他網(wǎng)絡(luò)配置項(xiàng)同時(shí)使用,在3.4及以上版本中則沒(méi)有此限制。例如以下示例,proxy是通往外界的網(wǎng)關(guān),Compose不會(huì)嘗試創(chuàng)建一個(gè)名為[projectname] _outside的網(wǎng)絡(luò),而是查找一個(gè)現(xiàn)存的被簡(jiǎn)單稱(chēng)為的outside網(wǎng)絡(luò)并將proxy服務(wù)的容器連接到該網(wǎng)絡(luò):

version: "3.8"
services:
  proxy:
    build: ./proxy
    networks:
      - outside
      - default
  app:
    build: ./app
    networks:
      - default
networks:
  outside:
    external: true

通過(guò)external配置項(xiàng)下的name配置項(xiàng)可以指定網(wǎng)絡(luò)的名稱(chēng),該名稱(chēng)與Compose配置文件中用于引用網(wǎng)絡(luò)的名稱(chēng)區(qū)分開(kāi)來(lái)。例如:

networks:
  outside:
    external:
      name: actual-name-of-network

不過(guò)external配置項(xiàng)下的name配置項(xiàng)在3.5版的配置文件格式中就已經(jīng)被棄用了,可以用name配置項(xiàng)替代。

9. name

在3.5版的配置文件格式中加入

為該網(wǎng)絡(luò)設(shè)置一個(gè)自定義名稱(chēng)。例如:

version: "3.8"
networks:
  network1:
    name: my-app-net

可以和external配置項(xiàng)一起使用。例如:

version: "3.8"
networks:
  network1:
    external: true
    name: my-app-net

六、configs配置

頂層configs配置項(xiàng)定義或引用了授予此堆棧中的服務(wù)的configs,config來(lái)源于file或external。下面就對(duì)configs的相關(guān)配置項(xiàng)進(jìn)行一個(gè)簡(jiǎn)單總結(jié)。

  • file:通過(guò)指定路徑中的文件內(nèi)容創(chuàng)建config。
  • external:如果設(shè)置為true,則指定該config已經(jīng)創(chuàng)建。Docker不會(huì)嘗試創(chuàng)建它,如果它不存在,會(huì)發(fā)生config not found錯(cuò)誤。
  • name:指定Docker中config的名稱(chēng)。在3.5版的配置文件格式中加入。
  • driver和driver_opts:自定義secret驅(qū)動(dòng)的名稱(chēng),和以鍵值對(duì)的形式指定用來(lái)傳遞給特定驅(qū)動(dòng)的選項(xiàng)。這兩個(gè)配置項(xiàng)均在3.8版的配置文件格式中加入,僅在使用docker stack時(shí)受支持。

template_driver:指定要使用的模板驅(qū)動(dòng)的名稱(chēng),它控制是否以及如何將secret有效負(fù)載作為模板進(jìn)行評(píng)估。如果未設(shè)置驅(qū)動(dòng),則不使用任何模板。當(dāng)前僅支持使用Go語(yǔ)言的golang驅(qū)動(dòng)。該配置項(xiàng)在3.8版的配置文件格式中加入,僅在使用docker stack時(shí)受支持。

七、secrets配置

頂層secrets配置項(xiàng)定義或引用了授予此堆棧中的服務(wù)的secrets,secret來(lái)源于file或external。下面就對(duì)secrets的相關(guān)配置項(xiàng)進(jìn)行一個(gè)簡(jiǎn)單總結(jié)。

  • file:通過(guò)指定路徑中的文件內(nèi)容創(chuàng)建secret。
  • external:如果設(shè)置為true,則指定該secret已經(jīng)創(chuàng)建。Docker不會(huì)嘗試創(chuàng)建它,如果它不存在,會(huì)發(fā)生secretg not found錯(cuò)誤。
  • name:指定Docker中secret的名稱(chēng)。在3.5版的配置文件格式中加入。
  • template_driver:指定要使用的模板驅(qū)動(dòng)的名稱(chēng),它控制是否以及如何將secret有效負(fù)載作為模板進(jìn)行評(píng)估。如果未設(shè)置驅(qū)動(dòng),則不使用任何模板。當(dāng)前僅支持使用Go語(yǔ)言的golang驅(qū)動(dòng)。該配置項(xiàng)在3.8版的配置文件格式中加入,僅在使用docker stack時(shí)受支持。

八、擴(kuò)展字段

在3.4版的配置文件格式中加入

可以使用擴(kuò)展字段來(lái)定義可重用的配置片段。這些特殊字段只要位于Compose配置文件的最頂(root)層,可以為任何格式,它們的名稱(chēng)以x-開(kāi)頭。

注意:從3.7版(對(duì)于3.x系列)和2.4版(對(duì)于2.x系列)的配置文件格式開(kāi)始,擴(kuò)展字段可以位于服務(wù)、數(shù)據(jù)卷、網(wǎng)絡(luò)、config和 secret定義部分的root層。

例如以下示例,通過(guò)擴(kuò)展字段x-custom定義一個(gè)可重用的配置片段:

version: '3.4'
x-custom:
  items:
    - a
    - b
  options:
    max-size: '12m'
  name: "custom"

這些擴(kuò)展字段內(nèi)容將被Compose忽略,但是可以通過(guò)YAML錨點(diǎn)來(lái)引用擴(kuò)展字段內(nèi)容。例如以下日志記錄配置,希望被多個(gè)服務(wù)引用:

logging:
  options:
    max-size: '12m'
    max-file: '5'
  driver: json-file

可以通過(guò)&開(kāi)頭的字符串在擴(kuò)展字段x-logging定義的日志記錄配置片段中設(shè)置錨點(diǎn),然后在需要引用該日志記錄配置片段的服務(wù)中以*加上錨點(diǎn)名進(jìn)行引用:

version: '3.4'
x-logging:
  &default-logging
  options:
    max-size: '12m'
    max-file: '5'
  driver: json-file
services:
  web:
    image: myapp/web:latest
    logging: *default-logging
  db:
    image: mysql:latest
    logging: *default-logging

也可以通過(guò)YAML合并來(lái)部分覆蓋擴(kuò)展字段中的值。例如:

version: '3.4'
x-volumes:
  &default-volume
  driver: foobar-storage
services:
  web:
    image: myapp/web:latest
    volumes: ["vol1", "vol2", "vol3"]
volumes:
  vol1: *default-volume
  vol2:
    << : *default-volume
    name: volume02
  vol3:
    << : *default-volume
    driver: default
    name: volume-local

九、其他內(nèi)容

1. 指定持續(xù)時(shí)間(durations)

某些配置項(xiàng)如healthcheck配置項(xiàng)的子配置項(xiàng)interval和timeout接受以類(lèi)似如下格式的字符串表示的持續(xù)時(shí)間(durations):

2.5s
10s
1m30s
2h32m
5h34m56s

支持的單位有us、ms、s、m和h。

2. 指定字節(jié)值

某些配置項(xiàng)如build配置項(xiàng)的子配置項(xiàng)shm_size接受以類(lèi)似如下格式的字符串表示的字節(jié)值:

2b
1024kb
2048k
300m
1gb

支持的單位有b、k或kb、m或mb、g或gb。目前不支持十進(jìn)制。

3. 變量替換

配置項(xiàng)中的值可以包含環(huán)境變量,Compose會(huì)使用運(yùn)行docker-compose時(shí)所在的shell中的環(huán)境變量值來(lái)替換Compose配置文件中的環(huán)境變量,VARIABLE和VARIABLE這兩種語(yǔ)法都支持。例如以下示例,假設(shè)shell中有POSTGRES_VERSION=9.3這個(gè)環(huán)境變量,則配置中的${POSTGRES_VERSION}將被替換為9.3:

db:
  image: "postgres:${POSTGRES_VERSION}"

如果未設(shè)置環(huán)境變量,則Compose會(huì)將配置文件中的環(huán)境變量替換為空字符串。如果上例中的POSTGRES_VERSION未設(shè)置,則image的值為postgres:。可以使用.env環(huán)境文件為環(huán)境變量設(shè)置默認(rèn)值,不過(guò)shell中的環(huán)境變量值會(huì)覆蓋.env環(huán)境文件中設(shè)置的值。

使用docker stack deploy時(shí)的注意事項(xiàng):.env環(huán)境文件僅在使用docker-compose up命令時(shí)有效,不適用于docker stack deploy。

此外,可以使用典型的shell語(yǔ)法提供內(nèi)聯(lián)默認(rèn)值,支持以下兩種語(yǔ)法:

${VARIABLE:-default}:如果VARIABLE未設(shè)置或?yàn)榭?,則會(huì)應(yīng)用default的值。

${VARIABLE-default}:僅當(dāng)VARIABLE未設(shè)置時(shí)才會(huì)應(yīng)用default的值。

同樣,也可以使用以下兩種語(yǔ)法來(lái)強(qiáng)制要求變量必須賦值:

${VARIABLE:?err}:如果VARIABLE未設(shè)置或?yàn)榭?,退出并輸出一條包含err的錯(cuò)誤信息。

${VARIABLE?err}:如果VARIABLE未設(shè)置,退出并輸出一條包含err的錯(cuò)誤信息。

當(dāng)配置中需要符號(hào)時(shí),可以使用符號(hào)。也可以防止Compose插值,因此$ 可以引用不想由Compose處理的環(huán)境變量。例如以下示例,就算設(shè)置了環(huán)境變量VAR_NOT_INTERPOLATED_BY_COMPOSE,Compose配置文件中的VAR_NOT_INTERPOLATED_BY_COMPOSE也不會(huì)被替換:

web:
  build: .
  command: "$$VAR_NOT_INTERPOLATED_BY_COMPOSE"

如果少指定了一個(gè),也就是只使用單個(gè)符號(hào),則Compose會(huì)將值解釋為環(huán)境變量,并出現(xiàn)一個(gè)類(lèi)似The VAR_NOT_INTERPOLATED_BY_COMPOSE is not set. Substituting an empty string.這樣的警告。

到此這篇關(guān)于Docker配置文件docker-compose.yml使用指南的文章就介紹到這了,更多相關(guān) docker-compose.yml 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker學(xué)習(xí)筆記之把容器commit成鏡像的方法

    docker學(xué)習(xí)筆記之把容器commit成鏡像的方法

    本篇文章主要介紹了docker學(xué)習(xí)筆記之把容器commit成鏡像,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • CentOS服務(wù)器部署Docker+Jenkins持續(xù)集成環(huán)境的方法

    CentOS服務(wù)器部署Docker+Jenkins持續(xù)集成環(huán)境的方法

    本文詳細(xì)介紹在CentOS服務(wù)器上部署Docker和Jenkins持續(xù)集成環(huán)境的步驟,涵蓋了準(zhǔn)備工作、安裝Docker、配置Docker鏡像加速、安裝Jenkins、配置Jenkins以及集成Docker與Jenkins,通過(guò)這些步驟,讀者可以實(shí)現(xiàn)代碼的持續(xù)集成與快速部署,提高軟件開(kāi)發(fā)效率,感興趣的朋友一起看看吧
    2025-02-02
  • Docker上部署Nginx的方法步驟

    Docker上部署Nginx的方法步驟

    本文主要介紹了Docker上部署Nginx的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • docker swarm 集群創(chuàng)建過(guò)程

    docker swarm 集群創(chuàng)建過(guò)程

    通過(guò)docker swarm 工具將一臺(tái)或者多臺(tái)安裝了docker的服務(wù)器組成一個(gè)完整的集群,該集群中的node節(jié)點(diǎn)可以通過(guò)Leader節(jié)點(diǎn)管理,這篇文章主要介紹了docker swarm 集群創(chuàng)建,需要的朋友可以參考下
    2024-03-03
  • Docker出現(xiàn)Cannot connect to the Docker daemon. Is the docker daemon running on this host錯(cuò)誤解決辦法

    Docker出現(xiàn)Cannot connect to the Docker daemon. Is the docker d

    這篇文章主要介紹了Docker出現(xiàn)Cannot connect to the Docker daemon. Is the docker daemon running on this host錯(cuò)誤解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • docker 查看jvm內(nèi)存占用方式

    docker 查看jvm內(nèi)存占用方式

    這篇文章主要介紹了docker 查看jvm內(nèi)存占用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • docker部署tig監(jiān)控服務(wù)教程

    docker部署tig監(jiān)控服務(wù)教程

    本文介紹了使用TIG(Telegraf-InfluxDB-Grafana)架構(gòu)進(jìn)行服務(wù)監(jiān)控的方法,通過(guò)Docker Compose快速搭建該監(jiān)控體系,包括Telegraf、InfluxDB和Grafana的安裝和配置,Telegraf用于數(shù)據(jù)采集,InfluxDB用于存儲(chǔ)數(shù)據(jù),Grafana用于數(shù)據(jù)可視化,通過(guò)配置文件和官方文檔
    2024-12-12
  • 詳解利用nginx和docker實(shí)現(xiàn)一個(gè)簡(jiǎn)易的負(fù)載均衡

    詳解利用nginx和docker實(shí)現(xiàn)一個(gè)簡(jiǎn)易的負(fù)載均衡

    本篇文章主要介紹了利用nginx和docker實(shí)現(xiàn)一個(gè)簡(jiǎn)易的負(fù)載均衡 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • docker-compose使用中遇到的坑及解決

    docker-compose使用中遇到的坑及解決

    這篇文章主要介紹了docker-compose使用中遇到的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Docker容器生命周期 | kill和 stop的區(qū)別與聯(lián)系 | docker pause/ unpause

    Docker容器生命周期 | kill和 stop的區(qū)別與聯(lián)系 | d

    這篇文章主要介紹了Docker容器生命周期 | kill和 stop的區(qū)別與聯(lián)系 | docker pause/ unpause,本講內(nèi)容是從?Docker入門(mén)到進(jìn)階里面抽離出來(lái)的內(nèi)容,從而使原文更加有序、重點(diǎn)突出,需要的朋友可以參考下
    2023-08-08

最新評(píng)論

亚洲 色图 偷拍 欧美| 日日操夜夜撸天天干| 日韩欧美国产一区不卡| 国产精品3p和黑人大战| 免费看国产av网站| 丰满的子国产在线观看| 在线亚洲天堂色播av电影| 丰满的继坶3中文在线观看| 九九热99视频在线观看97| 在线观看的a站 最新| 久久久久久九九99精品| 国产又粗又猛又爽又黄的视频美国| 亚洲综合一区成人在线| 伊人日日日草夜夜草| 操人妻嗷嗷叫视频一区二区 | 91p0rny九色露脸熟女| 97色视频在线观看| av久久精品北条麻妃av观看| 美女骚逼日出水来了| 99精品国产aⅴ在线观看 | 久久这里只有精品热视频| 久久h视频在线观看| 亚洲国产欧美一区二区丝袜黑人| 欧美日本在线观看一区二区| 成年人该看的视频黄免费| 亚洲最大黄了色网站| 青青青青青手机视频| 男人插女人视频网站| 亚洲免费va在线播放| 视频在线免费观看你懂得| 日本五十路熟新垣里子| 97国产在线av精品| 天美传媒mv视频在线观看| 亚洲另类综合一区小说| 国产精品黄大片在线播放| 人人妻人人爽人人澡人人精品| 欧美亚洲一二三区蜜臀| 蜜臀av久久久久蜜臀av麻豆| 亚洲欧美日韩视频免费观看| 亚洲va天堂va国产va久| 哥哥姐姐综合激情小说| 好吊操视频这里只有精品| 国产欧美精品免费观看视频| 91传媒一区二区三区| 韩国三级aaaaa高清视频| 天天日天天爽天天爽| 亚洲成人黄色一区二区三区| 欧美地区一二三专区| 2025年人妻中文字幕乱码在线| 熟女少妇激情五十路| 成人H精品动漫在线无码播放| 欧美一区二区三区乱码在线播放 | 视频 国产 精品 熟女 | av在线免费资源站| 99精品亚洲av无码国产另类| 亚洲激情唯美亚洲激情图片| 日日操夜夜撸天天干| 中文字幕一区二 区二三区四区| 中文字幕之无码色多多| 久久久精品欧洲亚洲av| 久久三久久三久久三久久| 国产久久久精品毛片| 精品美女久久久久久| 国产黄色高清资源在线免费观看| 午夜毛片不卡在线看| 中文字幕最新久久久| 91国内精品自线在拍白富美| 99久久99一区二区三区| 天天日天天干天天舔天天射| 亚洲日本一区二区久久久精品| 亚洲日本一区二区三区| 日韩伦理短片在线观看| 一级黄色av在线观看| 91国产在线视频免费观看| 亚洲av极品精品在线观看| 色爱av一区二区三区| 成熟丰满熟妇高潮xx×xx| 午夜福利人人妻人人澡人人爽| 色婷婷六月亚洲综合香蕉| 天堂av在线最新版在线| 久久精品在线观看一区二区| 最新国产精品拍在线观看| 中文字幕一区二区自拍| 无码日韩人妻精品久久| 乱亲女秽乱长久久久| 狠狠躁夜夜躁人人爽天天天天97| 人妻少妇亚洲精品中文字幕| 91色网站免费在线观看| 精品高跟鞋丝袜一区二区| 亚洲一区二区三区偷拍女厕91| 一本一本久久a久久精品综合不卡| 日本啪啪啪啪啪啪啪| 精品黑人一区二区三区久久国产| 国产日韩一区二区在线看| 亚洲欧美在线视频第一页| 亚洲人妻视频在线网| 日本熟妇喷水xxx| 成人av久久精品一区二区| 国产中文字幕四区在线观看| 在线观看av亚洲情色| 免费观看丰满少妇做受| 激情国产小视频在线| 青春草视频在线免费播放| 哥哥姐姐综合激情小说| 极品性荡少妇一区二区色欲| 国产内射中出在线观看| 亚洲一区二区三区av网站| 成人高清在线观看视频| 国产视频网站国产视频| 亚洲最大黄 嗯色 操 啊| 国产午夜激情福利小视频在线| 热99re69精品8在线播放| 国产精品黄大片在线播放| 国产成人精品亚洲男人的天堂| 亚洲伊人久久精品影院一美女洗澡 | 蜜桃视频17c在线一区二区| 中国视频一区二区三区| 欧美伊人久久大香线蕉综合| 婷婷色中文亚洲网68| tube69日本少妇| 蜜桃视频17c在线一区二区| 国产品国产三级国产普通话三级| 亚洲国产欧美一区二区三区…| 自拍偷拍亚洲精品第2页| 年轻的人妻被夫上司侵犯| 欧美国品一二三产区区别| 亚洲人妻av毛片在线| 国产亚洲国产av网站在线| 国产在线观看黄色视频| 一级黄片久久久久久久久| 久久精品视频一区二区三区四区| 国产一区自拍黄视频免费观看| 天天干天天操天天插天天日| 操日韩美女视频在线免费看| 男人操女人的逼免费视频| 直接观看免费黄网站| 亚洲精品国产综合久久久久久久久| 在线不卡日韩视频播放| 精品一区二区三区午夜| 亚洲中文精品人人免费| 免费费一级特黄真人片| 天天日天天干天天插舔舔| 成人动漫大肉棒插进去视频| 男生用鸡操女生视频动漫| 成年美女黄网站18禁久久| 国产黄色大片在线免费播放| 在线观看黄色成年人网站| 免费在线看的黄网站| 一区二区三区视频,福利一区二区 丰满的子国产在线观看 | 搞黄色在线免费观看| 午夜影院在线观看视频羞羞羞| 亚洲图库另类图片区| 国产一区成人在线观看视频| 骚逼被大屌狂草视频免费看| 黑人巨大精品欧美视频| 欧洲欧美日韩国产在线| av中文字幕网址在线| 中文人妻AV久久人妻水| 色花堂在线av中文字幕九九| 久久国产精品精品美女| gogo国模私拍视频| 超污视频在线观看污污污| 成人免费做爰高潮视频| 青青草精品在线视频观看| 2025年人妻中文字幕乱码在线| 精品一区二区三区三区色爱| 日韩欧美亚洲熟女人妻| 成人蜜桃美臀九一一区二区三区| 亚洲成人午夜电影在线观看| 动漫美女的小穴视频| 十八禁在线观看地址免费| 亚洲另类综合一区小说| 99精品免费久久久久久久久a| 一级A一级a爰片免费免会员| 狠狠鲁狠狠操天天晚上干干| 欧美视频中文一区二区三区| 毛片一级完整版免费| 男人靠女人的逼视频| 亚洲第一黄色在线观看| 四川五十路熟女av| h国产小视频福利在线观看| 黄色男人的天堂视频| 精品视频一区二区三区四区五区| 91国偷自产一区二区三区精品| 福利视频广场一区二区| 五月精品丁香久久久久福利社| 美女张开两腿让男人桶av| 自拍偷拍vs一区二区三区| 日本女大学生的黄色小视频| 日本一道二三区视频久久| 中文字幕在线视频一区二区三区| 97人妻总资源视频| 日韩精品二区一区久久| 亚洲精品国偷自产在线观看蜜桃| 亚洲精品一线二线在线观看| 一区二区三区另类在线| 日本人妻精品久久久久久| 免费在线播放a级片| 夏目彩春在线中文字幕| 国产午夜无码福利在线看| 亚洲码av无色中文| 日日夜夜精品一二三| 日韩av免费观看一区| 日辽宁老肥女在线观看视频| 国产欧美精品不卡在线| 亚洲精品久久综合久| 亚洲欧美国产麻豆综合| 亚洲国产免费av一区二区三区| 孕妇奶水仑乱A级毛片免费看| 蜜桃精品久久久一区二区| 国产在线自在拍91国语自产精品| 狠狠操操操操操操操操操| 一区二区三区综合视频| 国产aⅴ一线在线观看| 国产自拍在线观看成人| 夫妻在线观看视频91| 在线观看av2025| 日日摸夜夜添夜夜添毛片性色av| 黑人巨大的吊bdsm| 国产一区成人在线观看视频| 香蕉aⅴ一区二区三区| 久久精品36亚洲精品束缚| 欧洲欧美日韩国产在线| 鸡巴操逼一级黄色气| 国产日本欧美亚洲精品视| 国产一区二区火爆视频| 春色激情网欧美成人| 国产片免费观看在线观看| 另类av十亚洲av| 亚洲免费在线视频网站| 国产九色91在线观看精品| 成年人黄色片免费网站| 青青青青青青草国产| 国产综合视频在线看片| av高潮迭起在线观看| 国产精品入口麻豆啊啊啊| 狠狠的往里顶撞h百合| 夜夜嗨av蜜臀av| 日本免费一级黄色录像 | tube69日本少妇| 欧美另类一区二区视频| 2o22av在线视频| 女同久久精品秋霞网| 一级黄色片夫妻性生活| okirakuhuhu在线观看| 在线视频免费观看网| 四川乱子伦视频国产vip| 动漫av网站18禁| 成年女人免费播放视频| 黑人巨大的吊bdsm| 天天操天天插天天色| 中文字幕一区二区人妻电影冢本| 四川五十路熟女av| 成年人该看的视频黄免费| 啪啪啪18禁一区二区三区| 国产精品中文av在线播放| 国产刺激激情美女网站| 蝴蝶伊人久久中文娱乐网| 性感美女诱惑福利视频| 日韩一区二区三区三州| 大学生A级毛片免费视频| 在线新三级黄伊人网| 国产九色91在线观看精品| 熟女妇女老妇一二三区| 欧美视频综合第一页| 日韩av中文在线免费观看| 天天日夜夜操天天摸| 超pen在线观看视频公开97| 宅男噜噜噜666国产| 日日夜夜大香蕉伊人| 国产91久久精品一区二区字幕| 黄色大片男人操女人逼| av中文字幕福利网| 亚洲人妻视频在线网| 黄色片一级美女黄色片| 日辽宁老肥女在线观看视频| 丰满少妇人妻xxxxx| 老司机午夜精品视频资源| 国产黄色片蝌蚪九色91| 日本一二三中文字幕| 天天爽夜夜爽人人爽QC| 丝袜美腿欧美另类 中文字幕| 国产成人精品福利短视频| 激情五月婷婷免费视频| 操的小逼流水的文章| 欧美黑人与人妻精品| 天干天天天色天天日天天射| 精品高潮呻吟久久av| 中文字幕在线一区精品| 亚洲福利天堂久久久久久| 久草免费人妻视频在线| 九色精品视频在线播放| 91精品综合久久久久3d动漫| 国产一级精品综合av| 成年美女黄网站18禁久久| 亚洲免费国产在线日韩| 国产日韩精品一二三区久久久 | www天堂在线久久| 专门看国产熟妇的网站| 中文字幕人妻一区二区视频| 最新97国产在线视频| 扒开腿挺进肉嫩小18禁视频| 青青草精品在线视频观看| 免费观看成年人视频在线观看| 北条麻妃肉色丝袜视频| 亚洲av天堂在线播放| 青青伊人一精品视频| 岳太深了紧紧的中文字幕| 又色又爽又黄的美女裸体| 38av一区二区三区| 亚洲少妇高潮免费观看| 日本xx片在线观看| 高清成人av一区三区| 曰本无码人妻丰满熟妇啪啪| 欧美精品一二三视频| 五月天久久激情视频| 人妻熟女中文字幕aⅴ在线| 在线免费91激情四射 | 粉嫩av懂色av蜜臀av | 大香蕉日本伊人中文在线| 在线免费观看国产精品黄色| 国产av国片精品一区二区| 欧美日本aⅴ免费视频| 99视频精品全部15| 日韩欧美高清免费在线| 国产1区,2区,3区| 黑人3p华裔熟女普通话| 五十路av熟女松本翔子| 欲乱人妻少妇在线视频裸| 大陆av手机在线观看| 伊拉克及约旦宣布关闭领空| 丝袜美腿视频诱惑亚洲无| 日本性感美女写真视频| 免费黄页网站4188| 粉嫩欧美美人妻小视频| 欧美一区二区三区啪啪同性| 免费观看成年人视频在线观看| 日本少妇人妻xxxxxhd| 福利在线视频网址导航| 97精品人妻一区二区三区精品| av中文字幕国产在线观看| 日韩欧美制服诱惑一区在线| 97精品视频在线观看| 日韩人妻xxxxx| 成人蜜桃美臀九一一区二区三区| 93人妻人人揉人人澡人人| 3D动漫精品啪啪一区二区下载| 天天干夜夜操啊啊啊| 午夜大尺度无码福利视频| 亚洲国产欧美一区二区三区久久| 黄色在线观看免费观看在线| 国产福利小视频大全| 综合一区二区三区蜜臀| 亚洲精品 欧美日韩| 91久久综合男人天堂| 国产日韩欧美视频在线导航| 一区二区视频视频视频| 九色porny九色9l自拍视频| 国产精品大陆在线2019不卡| 天天想要天天操天天干| 在线免费观看黄页视频| 91免费福利网91麻豆国产精品| 中文字幕一区二 区二三区四区 | 三级av中文字幕在线观看| 热思思国产99re| 免费观看理论片完整版| 亚洲午夜高清在线观看| 亚洲一区av中文字幕在线观看| 成人综合亚洲欧美一区| 精品一区二区亚洲欧美| 三级黄色亚洲成人av| 77久久久久国产精产品| 亚洲国产精品久久久久蜜桃| 亚洲乱码中文字幕在线| 国产高潮无码喷水AV片在线观看| 最近的中文字幕在线mv视频| 狠狠操操操操操操操操操| 免费岛国喷水视频在线观看| 蜜臀成人av在线播放| 亚洲视频在线视频看视频在线| 不戴胸罩引我诱的隔壁的人妻 | 伊人网中文字幕在线视频| 在线免费视频 自拍| 嫩草aⅴ一区二区三区| 亚洲一区二区三区精品视频在线 | 国产亚洲精品视频合集| 93视频一区二区三区| 亚洲精品一区二区三区老狼| 久久一区二区三区人妻欧美| 91福利视频免费在线观看| 国产成人自拍视频播放| 亚洲精品中文字幕下载| 国产大学生援交正在播放| 福利国产视频在线观看| 激情五月婷婷免费视频| 蜜臀av久久久久蜜臀av麻豆| 成人av久久精品一区二区| 五十路熟女人妻一区二区9933| 青青色国产视频在线| nagger可以指黑人吗| 亚洲成人精品女人久久久| 啪啪啪啪啪啪啪啪av| 视频在线免费观看你懂得| 国产亚洲欧美视频网站| 精品人妻一二三区久久| 国产美女一区在线观看| 中文字幕成人日韩欧美| 18禁美女羞羞免费网站| 久草视频在线免播放| 在线免费观看国产精品黄色| 521精品视频在线观看| 一区二区视频在线观看免费观看| 最新中文字幕乱码在线| 桃色视频在线观看一区二区| 亚洲综合图片20p| 天天日天天干天天插舔舔| 天堂va蜜桃一区入口| 亚洲国产最大av综合| 美日韩在线视频免费看| 欧美精产国品一二三产品区别大吗| 婷婷久久久综合中文字幕| 国产使劲操在线播放| 特级欧美插插插插插bbbbb| 大胸性感美女羞爽操逼毛片| 国产熟妇人妻ⅹxxxx麻豆| 99精品亚洲av无码国产另类| 日本免费午夜视频网站| 91‖亚洲‖国产熟女| 亚洲一区二区三区精品视频在线| 天天日天天干天天插舔舔| gogo国模私拍视频| 国产chinesehd精品麻豆| 欧美亚洲免费视频观看| 999九九久久久精品| 丝袜美腿视频诱惑亚洲无| 在线免费观看视频一二区| 97精品视频在线观看| 东京干手机福利视频| av一区二区三区人妻| 色综合久久久久久久久中文| 天堂中文字幕翔田av| 在线观看黄色成年人网站| 精品久久婷婷免费视频| 亚洲一区制服丝袜美腿| 一级黄片大鸡巴插入美女| 亚洲熟妇久久无码精品| 中国熟女@视频91| 一区二区熟女人妻视频| 婷婷久久一区二区字幕网址你懂得 | 综合精品久久久久97| 国产高清在线观看1区2区| 久草视频在线免播放| 国产福利在线视频一区| 日韩无码国产精品强奸乱伦| 91人妻精品一区二区久久| av在线shipin| 大鸡巴操娇小玲珑的女孩逼| 亚洲成人国产综合一区| 精品久久久久久高潮| 熟妇一区二区三区高清版| 少妇ww搡性bbb91| 大香蕉大香蕉在线有码 av| 少妇ww搡性bbb91| 国产一区二区火爆视频| 密臀av一区在线观看| 直接能看的国产av| 欧美偷拍亚洲一区二区| 偷拍自拍视频图片免费| 一个色综合男人天堂| 亚洲 欧美 精品 激情 偷拍| 神马午夜在线观看视频| 免费在线黄色观看网站| 天天日夜夜操天天摸| 美女小视频网站在线| 亚洲男人的天堂a在线| 亚洲一区二区三区精品乱码| 亚洲av天堂在线播放| 99热国产精品666| 亚洲免费av在线视频| 天天做天天干天天舔| 午夜久久久久久久精品熟女| 青青青aaaa免费| 人妻少妇亚洲精品中文字幕| 天天日天天天天天天天天天天| 国产成人精品久久二区91 | 在线播放国产黄色av| 精品乱子伦一区二区三区免费播| 人人妻人人爱人人草| ka0ri在线视频| 亚洲熟妇x久久av久久| 精品高潮呻吟久久av| 欧美性感尤物人妻在线免费看| 自拍 日韩 欧美激情| 国产97在线视频观看| 国产又粗又猛又爽又黄的视频在线| 91快播视频在线观看| 男人插女人视频网站| 粉嫩欧美美人妻小视频| 直接观看免费黄网站| 国产成人精品亚洲男人的天堂| 青青青aaaa免费| 久青青草视频手机在线免费观看 | h国产小视频福利在线观看| 91大神福利视频网| 九色视频在线观看免费| 操日韩美女视频在线免费看| 91综合久久亚洲综合| 欧美成人一二三在线网| 非洲黑人一级特黄片| 蜜桃视频在线欧美一区| 97香蕉碰碰人妻国产樱花| 性欧美激情久久久久久久| 精品久久久久久久久久中文蒉| 亚洲av男人的天堂你懂的| 天堂女人av一区二区| 亚洲色偷偷综合亚洲AV伊人| 精品美女久久久久久| 亚洲国产在线精品国偷产拍| 好了av中文字幕在线| 青青热久免费精品视频在线观看| 国产又粗又硬又大视频| 欧美日韩在线精品一区二区三| 国产高清在线在线视频| 天堂女人av一区二区| 午夜毛片不卡免费观看视频| 国产精品一二三不卡带免费视频| 男女啪啪视频免费在线观看| 青草青永久在线视频18| 人妻少妇性色欲欧美日韩| 激情国产小视频在线| 91亚洲精品干熟女蜜桃频道| 青青青青青青草国产| 好太好爽好想要免费| 青青青艹视频在线观看| 精品黑人巨大在线一区| 欧美偷拍亚洲一区二区| 在线观看视频污一区| av在线免费资源站| 一区二区久久成人网| aiss午夜免费视频| 亚洲欧美成人综合视频| 美女福利视频网址导航| 青青色国产视频在线| 桃色视频在线观看一区二区| 青青青青在线视频免费观看| 午夜精品久久久久久99热| av成人在线观看一区| 男人和女人激情视频| 久久农村老妇乱69系列| 欧美性受xx黑人性猛交| 国产1区,2区,3区| 99久久超碰人妻国产| 亚洲va欧美va人人爽3p| 亚洲国产最大av综合| 日本阿v视频在线免费观看| 亚洲av黄色在线网站| 久精品人妻一区二区三区| 中文字幕1卡1区2区3区| 欧美偷拍亚洲一区二区| 欧洲黄页网免费观看| 亚洲成人三级在线播放| 人妻凌辱欧美丰满熟妇| 日本真人性生活视频免费看| 色哟哟国产精品入口| 天天插天天狠天天操| 亚洲美女高潮喷浆视频| 不卡一区一区三区在线| 92福利视频午夜1000看| 午夜极品美女福利视频| 2021久久免费视频| 午夜蜜桃一区二区三区| 亚洲精品色在线观看视频| 熟女91pooyn熟女| 美洲精品一二三产区区别| 亚洲综合另类精品小说| 天天日天天鲁天天操| 操人妻嗷嗷叫视频一区二区| 日韩特级黄片高清在线看| 欧美精品 日韩国产| 国产成人综合一区2区| 91中文字幕免费在线观看| 91人妻精品久久久久久久网站| 日韩北条麻妃一区在线| 91亚洲国产成人精品性色| 天天摸天天日天天操| 国产高清97在线观看视频| 韩国亚洲欧美超一级在线播放视频| 黄色男人的天堂视频| 一二三中文乱码亚洲乱码one| 日韩在线中文字幕色| 国产综合视频在线看片| 又大又湿又爽又紧A视频| 天天干天天操天天摸天天射| 中文字幕免费福利视频6| 亚洲午夜精品小视频| av在线资源中文字幕| 亚洲熟女女同志女同| av手机免费在线观看高潮| 亚洲人成精品久久久久久久| 欧美专区日韩专区国产专区| av成人在线观看一区| 女警官打开双腿沦为性奴| 9色在线视频免费观看| 女人精品内射国产99| 国产又粗又黄又硬又爽| 人妻丝袜诱惑我操她视频| 黄色资源视频网站日韩| 五十路人妻熟女av一区二区| 免费看高清av的网站| 亚洲熟妇久久无码精品| 女生自摸在线观看一区二区三区| 国产伦精品一区二区三区竹菊| 超黄超污网站在线观看| 又色又爽又黄又刺激av网站| 国产又大又黄免费观看| 欧美国产亚洲中英文字幕| 2020韩国午夜女主播在线| 国产精品熟女久久久久浪潮| 日韩二区视频一线天婷婷五| 青青青青青操视频在线观看| 亚洲熟妇久久无码精品| 美女视频福利免费看| 国产视频一区在线观看| 一区二区三区av高清免费| huangse网站在线观看| 大鸡吧插入女阴道黄色片| 大香蕉大香蕉在线看| 女蜜桃臀紧身瑜伽裤| 日本乱人一区二区三区| 天天爽夜夜爽人人爽QC| 自拍偷拍 国产资源| 久久永久免费精品人妻专区| 国产福利小视频大全| av中文字幕电影在线看| 人人妻人人爽人人添夜| 国产精品久久9999| 韩国爱爱视频中文字幕| 国产又粗又硬又猛的毛片视频| 久久久久久久亚洲午夜综合福利 | 国产大鸡巴大鸡巴操小骚逼小骚逼| 自拍偷拍亚洲欧美在线视频| 青青在线视频性感少妇和隔壁黑丝| 亚洲日本一区二区三区 | 亚洲人妻av毛片在线| 男人的天堂av日韩亚洲| 成年人午夜黄片视频资源| 538精品在线观看视频| 青青色国产视频在线| 九九视频在线精品播放| 国产日韩欧美美利坚蜜臀懂色| 天天操天天干天天插| 大白屁股精品视频国产| 成人免费做爰高潮视频| 熟女人妻一区二区精品视频| 硬鸡巴动态操女人逼视频| 丰满的子国产在线观看| 中文字幕在线乱码一区二区| 欧美一级色视频美日韩| 鸡巴操逼一级黄色气| tube69日本少妇| 国产大学生援交正在播放| 日本少妇高清视频xxxxx| 成人午夜电影在线观看 久久| 日日操综合成人av| 国产成人小视频在线观看无遮挡 | 宅男噜噜噜666免费观看| 亚洲在线一区二区欧美| av中文在线天堂精品| 日韩一区二区电国产精品| 亚洲图片偷拍自拍区| 欧美精产国品一二三产品区别大吗| 亚洲综合图片20p| av高潮迭起在线观看| 日本脱亚入欧是指什么| caoporm超碰国产| 日韩美女搞黄视频免费| 哥哥姐姐综合激情小说| 亚洲免费成人a v| 天天射夜夜操狠狠干| 性欧美激情久久久久久久| 大鸡巴插入美女黑黑的阴毛| 亚洲av琪琪男人的天堂| 亚洲va国产va欧美va在线| 天天射夜夜操综合网| 久久美欧人妻少妇一区二区三区| 人妻av无码专区久久绿巨人| 天天干天天插天天谢| 92福利视频午夜1000看| 青草久久视频在线观看| 国产精品人久久久久久| 国产亚洲四十路五十路| 农村胖女人操逼视频| av视网站在线观看| 久久www免费人成一看片| 熟女在线视频一区二区三区| 日韩欧美一级aa大片| 国产自拍黄片在线观看| 人妻丰满熟妇综合网| 天天日天天干天天要| 亚洲欧美另类自拍偷拍色图| 成人av亚洲一区二区| 日韩在线中文字幕色| 人人妻人人爽人人添夜| 99热99这里精品6国产| 懂色av之国产精品| 天天干天天插天天谢| 少妇深喉口爆吞精韩国| 欧亚日韩一区二区三区观看视频| 五十路熟女人妻一区二| 亚洲精品高清自拍av| 无码日韩人妻精品久久| 日本人妻欲求不满中文字幕| 成人免费毛片aaaa| 2017亚洲男人天堂| 国产精选一区在线播放| 2021最新热播中文字幕| 国产成人自拍视频播放| 岛国av高清在线成人在线| 人妻另类专区欧美制服| 国产熟妇一区二区三区av| 99的爱精品免费视频| 亚洲视频在线视频看视频在线| 人人爽亚洲av人人爽av| 天天日天天干天天要| 亚洲天堂第一页中文字幕| 一区二区三区蜜臀在线| 国产亚洲国产av网站在线| 性欧美激情久久久久久久| 久久这里只有精彩视频免费| 久久久91蜜桃精品ad| 黄色大片免费观看网站| 天天插天天色天天日| 天堂va蜜桃一区入口| 91在线免费观看成人| 日本福利午夜电影在线观看| 97超碰免费在线视频| 欧美另类重口味极品在线观看| 色偷偷伊人大杳蕉综合网| av资源中文字幕在线观看| 国产 在线 免费 精品| 久久久精品精品视频视频| 99一区二区在线观看| nagger可以指黑人吗| 91天堂精品一区二区| 老鸭窝在线观看一区| 日本少妇高清视频xxxxx| 色秀欧美视频第一页| yy6080国产在线视频| 亚洲成人熟妇一区二区三区| 免费福利av在线一区二区三区| 熟女国产一区亚洲中文字幕| 亚洲在线一区二区欧美| 93视频一区二区三区| 国产大学生援交正在播放| 亚洲人妻av毛片在线| 免费成人av中文字幕| 欧美日韩激情啪啪啪| 超黄超污网站在线观看| 欧美一区二区三区久久久aaa| 激情五月婷婷免费视频| 美女吃鸡巴操逼高潮视频| 午夜免费体验区在线观看| 桃色视频在线观看一区二区| 激情伦理欧美日韩中文字幕| 熟女人妻在线中出观看完整版| 午夜国产福利在线观看| 免费十精品十国产网站| 最新国产精品网址在线观看| 在线观看操大逼视频| 亚洲国产精品黑丝美女| 国产九色91在线视频| 老司机福利精品免费视频一区二区 | 可以免费看的www视频你懂的| 日本特级片中文字幕| 熟女91pooyn熟女| 午夜婷婷在线观看视频| 极品粉嫩小泬白浆20p主播 | 久久久久久性虐视频| 亚洲激情,偷拍视频| free性日本少妇| 精品美女在线观看视频在线观看| 亚洲 欧美 精品 激情 偷拍 | 桃色视频在线观看一区二区| 久久午夜夜伦痒痒想咳嗽P| 欧美日本在线视频一区| 亚洲蜜臀av一区二区三区九色 | 日本黄色三级高清视频| 亚洲午夜精品小视频| 欧美亚洲偷拍自拍色图| 99亚洲美女一区二区三区| 亚洲专区激情在线观看视频| 久草视频中文字幕在线观看| 91破解版永久免费| 在线观看成人国产电影| 55夜色66夜色国产精品站| 香蕉91一区二区三区| 女同性ⅹxx女同h偷拍| 欧美国品一二三产区区别| 精品美女在线观看视频在线观看| 4个黑人操素人视频网站精品91| 久久这里只有精彩视频免费| 小穴多水久久精品免费看| av中文字幕福利网| 红桃av成人在线观看| 亚洲一区二区人妻av| 亚洲激情,偷拍视频| 日本av在线一区二区三区| 在线观看操大逼视频| 欧美精品亚洲精品日韩在线| 中文字幕网站你懂的| 最新中文字幕乱码在线| 99热久久这里只有精品| 无码国产精品一区二区高潮久久4| 国产麻豆91在线视频| 日本乱人一区二区三区| 人妻最新视频在线免费观看| 天天干夜夜操天天舔| 又粗又长 明星操逼小视频| 国产高清97在线观看视频| 小穴多水久久精品免费看| 青草久久视频在线观看| 一本一本久久a久久精品综合不卡| 一本久久精品一区二区| 一色桃子人妻一区二区三区| 夜女神免费福利视频| 换爱交换乱高清大片| 最新国产亚洲精品中文在线| 中文字幕人妻一区二区视频| 久久久精品精品视频视频| 国产黄色片蝌蚪九色91| 传媒在线播放国产精品一区| 人人妻人人澡人人爽人人dvl| 91香蕉成人app下载| 五十路av熟女松本翔子| 日本韩国亚洲综合日韩欧美国产 | 在线亚洲天堂色播av电影| 亚洲国产免费av一区二区三区| 天天爽夜夜爽人人爽QC| 久久久久久久久久久久久97| 一区二区三区精品日本| 久久美欧人妻少妇一区二区三区 | 青青青青青青青在线播放视频| 9久在线视频只有精品| 98精产国品一二三产区区别| 桃色视频在线观看一区二区| 国产av欧美精品高潮网站| 综合一区二区三区蜜臀| 欧美va亚洲va天堂va| 日韩av中文在线免费观看| 2022中文字幕在线| 100%美女蜜桃视频| 天天日天天干天天干天天日| 午夜91一区二区三区| 亚洲av在线观看尤物| 亚洲欧美成人综合视频| 岛国免费大片在线观看| 青青青aaaa免费| 亚洲精品久久视频婷婷| 亚洲国产成人av在线一区| 欧美亚洲中文字幕一区二区三区| 久久久久久9999久久久久| 一二三中文乱码亚洲乱码one | 日韩美女综合中文字幕pp| 青青草原网站在线观看| 国产一级麻豆精品免费| 2021久久免费视频| 91国语爽死我了不卡| av网站色偷偷婷婷网男人的天堂| 成年午夜免费无码区| 大陆精品一区二区三区久久| 99精品国产免费久久| 动漫黑丝美女的鸡巴| 少妇与子乱在线观看| 绝顶痉挛大潮喷高潮无码| 好太好爽好想要免费| av完全免费在线观看av| 亚洲激情偷拍一区二区| 欲乱人妻少妇在线视频裸| eeuss鲁片一区二区三区| av资源中文字幕在线观看| av手机在线免费观看日韩av| 日本少妇人妻xxxxxhd| 青青尤物在线观看视频网站| 日本熟妇一区二区x x| 亚洲丝袜老师诱惑在线观看| 扒开腿挺进肉嫩小18禁视频| 免费观看丰满少妇做受| 韩国黄色一级二级三级| 色吉吉影音天天干天天操| 国产精选一区在线播放| 欧美老鸡巴日小嫩逼| 把腿张开让我插进去视频| 亚洲成人午夜电影在线观看| 91极品大一女神正在播放| 一级黄片久久久久久久久| 国产精品免费不卡av| 欧美老鸡巴日小嫩逼| 国产精品自偷自拍啪啪啪| 国产亚洲欧美视频网站| av破解版在线观看| 日韩在线中文字幕色| 99re6热在线精品| 青青草国内在线视频精选| 午夜在线观看一区视频| aiss午夜免费视频| 宅男噜噜噜666国产| 天天日天天做天天日天天做| 国产精品久久久黄网站| 又黄又刺激的午夜小视频| 男人的天堂在线黄色| 天天日天天操天天摸天天舔| 中文字幕中文字幕人妻| 国产美女午夜福利久久| 亚洲在线免费h观看网站| 国产97在线视频观看| 国产剧情演绎系列丝袜高跟| 18禁污污污app下载| 亚洲一区二区三区久久午夜 | av完全免费在线观看av| sw137 中文字幕 在线| 国产使劲操在线播放| 香港一级特黄大片在线播放| ka0ri在线视频| 国产精品久久久久国产三级试频| 国产+亚洲+欧美+另类| 国产91嫩草久久成人在线视频| 天天做天天干天天舔| 天天夜天天日天天日| 青青青爽视频在线播放| 欧美天堂av无线av欧美| 青青青青草手机在线视频免费看| 夜夜骑夜夜操夜夜奸| 日韩国产乱码中文字幕| 揄拍成人国产精品免费看视频| 亚洲日产av一区二区在线| 国产精品福利小视频a| 欧美精产国品一二三产品区别大吗| 九色视频在线观看免费| 香蕉av影视在线观看| 99热这里只有精品中文| 啊啊啊想要被插进去视频| 日韩亚洲高清在线观看| 青青青激情在线观看视频| 亚洲图片偷拍自拍区| 男人和女人激情视频| 国产一区av澳门在线观看| 人妻熟女中文字幕aⅴ在线| 黄色片黄色片wyaa| 人妻无码中文字幕专区| 97国产在线av精品| 中文字幕亚洲久久久| 天天日天天爽天天干| 欧美精品亚洲精品日韩在线| 成年人该看的视频黄免费| 亚洲成高清a人片在线观看| 专门看国产熟妇的网站| 少妇ww搡性bbb91| 亚洲色偷偷综合亚洲AV伊人| 免费在线观看污污视频网站| 2020韩国午夜女主播在线| 家庭女教师中文字幕在线播放| 强行扒开双腿猛烈进入免费版| 偷拍美女一区二区三区| 少妇人妻真实精品视频| 中文字幕一区二区三区蜜月| 国产露脸对白在线观看| 大学生A级毛片免费视频| 婷婷五月亚洲综合在线| 一级黄片大鸡巴插入美女| 女蜜桃臀紧身瑜伽裤| 日本一区美女福利视频| 久久精品美女免费视频| 免费国产性生活视频| 天天摸天天日天天操| 亚洲国产精品久久久久蜜桃| 538精品在线观看视频| 天天操天天插天天色| 热99re69精品8在线播放| 国产精品久久久久网| 视频一区二区综合精品| 动漫美女的小穴视频| 国产又粗又硬又猛的毛片视频 | 中文字幕在线永久免费播放| lutube在线成人免费看| 精品久久久久久久久久中文蒉| 99久久99一区二区三区| 97精品综合久久在线| 啊啊好慢点插舔我逼啊啊啊视频| 久久久极品久久蜜桃| 国产之丝袜脚在线一区二区三区| 在线免费观看99视频| av中文字幕福利网| 黄色黄色黄片78在线| 亚洲视频在线观看高清| 日本少妇高清视频xxxxx| 揄拍成人国产精品免费看视频 | 亚洲一区久久免费视频| 午夜精品在线视频一区| 日本性感美女视频网站| 熟女国产一区亚洲中文字幕| 亚洲一级特黄特黄黄色录像片| 好男人视频在线免费观看网站| 2021天天色天天干| yy6080国产在线视频| 漂亮 人妻被中出中文| 亚洲在线免费h观看网站| 国产精品福利小视频a| 99热这里只有国产精品6| 熟女妇女老妇一二三区| 欧美成人一二三在线网| 黄工厂精品视频在线观看| 日韩精品激情在线观看| 初美沙希中文字幕在线| 亚洲乱码中文字幕在线| 91高清成人在线视频| 最新日韩av传媒在线| 成人免费公开视频无毒| 在线观看免费视频色97| 亚洲丝袜老师诱惑在线观看| gav成人免费播放| 天天干天天日天天谢综合156| 99热碰碰热精品a中文| 午夜91一区二区三区| 在线观看免费视频色97| 蜜桃视频入口久久久| 免费观看理论片完整版| 日本在线不卡免费视频| jiujiure精品视频在线| 一级黄色片夫妻性生活| 蜜桃色婷婷久久久福利在线| 日本三极片视频网站观看| 欧美国品一二三产区区别| 91成人精品亚洲国产| 亚洲美女高潮喷浆视频| av中文字幕网址在线| 91亚洲精品干熟女蜜桃频道| 精品成人午夜免费看| 国产精品三级三级三级| 视频一区二区综合精品| 欧美美女人体视频一区| 青青擦在线视频国产在线| 国产va在线观看精品| 久久久久久97三级| 夜夜操,天天操,狠狠操| 精品亚洲在线免费观看| 天天躁日日躁狠狠躁av麻豆| 欧美女同性恋免费a| 国产极品美女久久久久久| 久久久久久九九99精品| japanese五十路熟女熟妇| 夜女神免费福利视频| 亚洲一区av中文字幕在线观看| 日本少妇高清视频xxxxx| 在线国产日韩欧美视频| 99久久超碰人妻国产| 北条麻妃肉色丝袜视频| 秋霞午夜av福利经典影视| 免费成人av中文字幕| 又粗又长 明星操逼小视频| 瑟瑟视频在线观看免费视频| 日本一二三中文字幕| 天天爽夜夜爽人人爽QC| yy96视频在线观看| 日韩人妻在线视频免费| 黄工厂精品视频在线观看| 激情国产小视频在线| 久久久久久久精品成人热| 国产精彩福利精品视频| 色综合久久五月色婷婷综合| 视频一区 视频二区 视频| 亚洲综合在线观看免费| 中文字幕人妻av在线观看| 国产精品国产三级麻豆| 天堂av中文在线最新版| 久精品人妻一区二区三区| 好太好爽好想要免费| 国产又色又刺激在线视频 | 亚洲熟女久久久36d| 日本xx片在线观看| 在线观看日韩激情视频| 日本www中文字幕| 国产在线91观看免费观看| 国产精品熟女久久久久浪潮| 五月天色婷婷在线观看视频免费| 中文字幕人妻被公上司喝醉在线| 亚洲最大黄了色网站| 亚洲av无女神免非久久| 国产极品精品免费视频| 漂亮 人妻被中出中文| av久久精品北条麻妃av观看| 欧美亚洲免费视频观看| weyvv5国产成人精品的视频| 免费黄页网站4188| 欧美少妇性一区二区三区| 韩国黄色一级二级三级| jiuse91九色视频| h国产小视频福利在线观看| 成年人免费看在线视频| 男生舔女生逼逼视频| 韩国三级aaaaa高清视频| 国产无遮挡裸体免费直播视频| 97人妻色免费视频| 日韩欧美国产一区不卡| av网址在线播放大全| 99热99re在线播放| 色秀欧美视频第一页| 中文字幕1卡1区2区3区| 久久久久久久精品老熟妇| 91欧美在线免费观看| 午夜场射精嗯嗯啊啊视频| 青青色国产视频在线| 91天堂精品一区二区| 88成人免费av网站| 一色桃子久久精品亚洲| 日日爽天天干夜夜操| 黄色资源视频网站日韩| 亚洲午夜在线视频福利| www,久久久,com| 免费在线看的黄网站| AV无码一区二区三区不卡| 亚洲欧美人精品高清| 人妻少妇一区二区三区蜜桃| av老司机精品在线观看| 久久丁香花五月天色婷婷| 福利一二三在线视频观看| 最新欧美一二三视频| 欲满人妻中文字幕在线| 91亚洲国产成人精品性色| 日本性感美女写真视频| yy6080国产在线视频| 国产精品日韩欧美一区二区| 97年大学生大白天操逼| 1000小视频在线| 国产精品自拍在线视频| caoporn蜜桃视频| 精品成人午夜免费看| 高清一区二区欧美系列| 国产精品午夜国产小视频| 最新国产精品拍在线观看| 特黄老太婆aa毛毛片| 91p0rny九色露脸熟女| 美女av色播在线播放| 一区二区三区在线视频福利| 男生用鸡操女生视频动漫| 激情五月婷婷综合色啪| 日本脱亚入欧是指什么| 人妻久久无码中文成人| 黄色录像鸡巴插进去| 在线视频这里只有精品自拍| 视频一区 二区 三区 综合| 91人妻精品久久久久久久网站| 粉嫩小穴流水视频在线观看| 人妻丝袜榨强中文字幕| 又大又湿又爽又紧A视频| 北条麻妃高跟丝袜啪啪| 9国产精品久久久久老师| 精品老妇女久久9g国产| 在线新三级黄伊人网| 国产在线一区二区三区麻酥酥| 11久久久久久久久久久| 在线亚洲天堂色播av电影| 免费看国产又粗又猛又爽又黄视频| 成人sm视频在线观看| 亚洲伊人色一综合网| 97瑟瑟超碰在线香蕉| 综合精品久久久久97| 亚洲丝袜老师诱惑在线观看| 精品人妻伦一二三区久| 国产成人精品亚洲男人的天堂| 成人国产小视频在线观看| 国产黄色片蝌蚪九色91| 不戴胸罩引我诱的隔壁的人妻| 伊人日日日草夜夜草| 中文字幕—97超碰网| 午夜精品在线视频一区| 在线观看的a站 最新| 老司机在线精品福利视频| 亚洲成人激情视频免费观看了| 中文字幕人妻三级在线观看| 亚洲激情,偷拍视频| 久久尻中国美女视频| 日韩一个色综合导航| 国产精品精品精品999| 蜜臀成人av在线播放| 中文字幕在线欧美精品| 超级av免费观看一区二区三区| 中文字幕一区二区亚洲一区| 丝袜国产专区在线观看| 中文字幕网站你懂的| 亚洲2021av天堂| 国产乱子伦一二三区| 国产极品精品免费视频| 精品人妻每日一部精品| 精品91高清在线观看| av网站色偷偷婷婷网男人的天堂| 亚洲精品高清自拍av | 亚洲最大免费在线观看| 最新国产精品拍在线观看| 啊啊啊想要被插进去视频| 久久永久免费精品人妻专区| 91国产在线视频免费观看| jul—619中文字幕在线| 免费一级黄色av网站| 深田咏美亚洲一区二区| 中文字幕在线免费第一页| 不卡日韩av在线观看| 成年人啪啪视频在线观看| 欧美专区日韩专区国产专区| 国产丰满熟女成人视频| 福利午夜视频在线观看| AV天堂一区二区免费试看| 亚洲 自拍 色综合图| 亚洲精品av在线观看| 端庄人妻堕落挣扎沉沦| 手机看片福利盒子日韩在线播放| 真实国模和老外性视频| 99精品视频之69精品视频| 国产麻豆剧果冻传媒app| 日本在线不卡免费视频| av网址国产在线观看| 40道精品招牌菜特色| 阿v天堂2014 一区亚洲| 午夜激情高清在线观看| 日韩精品中文字幕在线| 日本黄色特一级视频| 午夜精品一区二区三区城中村| 一区二区三区国产精选在线播放| 中文字幕无码一区二区免费| 亚洲图片偷拍自拍区| 亚洲一区二区三区精品乱码| 亚洲综合乱码一区二区| 黄色片年轻人在线观看| 国产V亚洲V天堂无码欠欠| 久久久人妻一区二区| 成年人黄色片免费网站| 成人伊人精品色xxxx视频| 久久久人妻一区二区| 亚洲卡1卡2卡三卡四老狼| okirakuhuhu在线观看| 精品欧美一区二区vr在线观看| 在线视频免费观看网| 色婷婷久久久久swag精品| 伊人综合aⅴ在线网| 亚洲精品国产在线电影| 天堂av在线官网中文| 精品一线二线三线日本| 亚洲欧美激情国产综合久久久| 精品一区二区亚洲欧美| 日本一二三区不卡无| 亚洲熟妇x久久av久久| 国产美女精品福利在线| 亚洲av极品精品在线观看| 久久久噜噜噜久久熟女av| 噜噜色噜噜噜久色超碰| 91啪国自产中文字幕在线| av日韩在线免费播放| 在线观看欧美黄片一区二区三区 | 成人色综合中文字幕| 又粗又硬又猛又爽又黄的| 欧美精品国产综合久久| 九色视频在线观看免费| 亚洲国产成人av在线一区| 精品国产成人亚洲午夜| 日韩欧美国产一区不卡| 蜜桃色婷婷久久久福利在线| 国产又粗又硬又猛的毛片视频| 免费看国产av网站| 亚洲 中文 自拍 另类 欧美| 91成人精品亚洲国产| 都市激情校园春色狠狠| 日本精品视频不卡一二三| 天天日天天添天天爽| 亚洲av一妻不如妾| av网址在线播放大全| 成人网18免费视频版国产| 韩国女主播精品视频网站| 丰满的继坶3中文在线观看| 久久精品国产999| 亚洲精品欧美日韩在线播放 | 亚洲av可乐操首页| 2020中文字幕在线播放| 美女在线观看日本亚洲一区| 在线免费观看视频一二区| 日本裸体熟妇区二区欧美| 自拍偷拍,中文字幕| 日本熟妇丰满厨房55| 啊啊好慢点插舔我逼啊啊啊视频| 激情人妻校园春色亚洲欧美| 精品欧美一区二区vr在线观看 | 韩国女主播精品视频网站| 欧洲亚洲欧美日韩综合| 成年人黄视频在线观看| 中文字幕国产专区欧美激情| 免费一级黄色av网站| 在线新三级黄伊人网| 最新国产亚洲精品中文在线| 99re6热在线精品| 91精品一区二区三区站长推荐| 中文字日产幕乱六区蜜桃| 中文字幕最新久久久| 天天夜天天日天天日| 亚洲人成精品久久久久久久| 亚洲高清视频在线不卡| 99热99re在线播放| 成熟丰满熟妇高潮xx×xx | 国产欧美精品免费观看视频| 91大神福利视频网| 特级欧美插插插插插bbbbb| 欧美少妇性一区二区三区| 日韩黄色片在线观看网站| 一区二区三区激情在线| 日本性感美女写真视频| 五十路熟女人妻一区二| 日韩成人免费电影二区| 成年人该看的视频黄免费| 国产精品一二三不卡带免费视频| 国产精彩对白一区二区三区| 91国语爽死我了不卡| 国产高清在线在线视频| 国产精品亚洲а∨天堂免| 国产使劲操在线播放| 一区二区三区久久久91| 中文字幕熟女人妻久久久| 国产亚洲欧美另类在线观看| 亚洲国产精品中文字幕网站| 天天射夜夜操狠狠干| 久久久精品精品视频视频| 78色精品一区二区三区| 日韩北条麻妃一区在线| 六月婷婷激情一区二区三区| 熟女人妻在线观看视频| 东京干手机福利视频| 亚洲特黄aaaa片| 亚洲午夜福利中文乱码字幕| 视频一区 视频二区 视频| 国产又粗又黄又硬又爽| 成人av中文字幕一区| rct470中文字幕在线| 欧美老妇精品另类不卡片| 色综合色综合色综合色| 亚洲男人让女人爽的视频| 丰满少妇人妻xxxxx| 黄色的网站在线免费看| 亚洲人成精品久久久久久久| www骚国产精品视频| 888欧美视频在线| 视频在线亚洲一区二区| 自拍偷拍亚洲另类色图| 国产亚洲欧美另类在线观看| 搡老熟女一区二区在线观看| 成人色综合中文字幕| 日日摸夜夜添夜夜添毛片性色av| 久久久久久久久久性潮| 国产91嫩草久久成人在线视频| av天堂中文字幕最新| 日本xx片在线观看| 精品国产污污免费网站入口自| 99精品免费久久久久久久久a| 亚洲va国产va欧美va在线| 无码中文字幕波多野不卡| 亚洲成人国产av在线| xxx日本hd高清| 中文字幕在线欧美精品| 小穴多水久久精品免费看| 欧洲国产成人精品91铁牛tv| 国产chinesehd精品麻豆| 黄片三级三级三级在线观看| 久久久制服丝袜中文字幕| 国产极品美女久久久久久| 色综合久久久久久久久中文| 国产乱子伦一二三区| 老有所依在线观看完整版| 超碰97人人澡人人| 中文字幕 亚洲av| 欧美日韩情色在线观看| 亚洲国产最大av综合| 天天干天天搞天天摸| 青青社区2国产视频| 成人国产激情自拍三区| 国产精品自拍视频大全| 91国内视频在线观看| 久久h视频在线观看| 日本熟妇一区二区x x| 日韩av大胆在线观看| 九色porny九色9l自拍视频| 性生活第二下硬不起来| 偷青青国产精品青青在线观看| 天天日天天干天天搡| 亚洲黄色av网站免费播放| 日韩国产乱码中文字幕| 无忧传媒在线观看视频| 青青青青青手机视频| 青青青青操在线观看免费| 999九九久久久精品| 人妻少妇av在线观看| 天天做天天干天天操天天射| 快插进小逼里大鸡吧视频| 91麻豆精品传媒国产黄色片| 亚洲男人在线天堂网| 狠狠操操操操操操操操操| 亚洲成人国产av在线| 丰满少妇人妻xxxxx| 任我爽精品视频在线播放| 18禁精品网站久久| 国产精品熟女久久久久浪潮| 美女日逼视频免费观看| sejizz在线视频| 免费高清自慰一区二区三区网站 | 中文字幕在线免费第一页| 男人天堂色男人av| 日韩欧美高清免费在线| 久久久久久九九99精品| 欧美亚洲偷拍自拍色图| 亚洲成人黄色一区二区三区| 男人插女人视频网站| 1024久久国产精品| 成人免费毛片aaaa| 成人高清在线观看视频| 欧美日本在线视频一区| 成人蜜臀午夜久久一区| 天天日天天敢天天干| 欧亚乱色一区二区三区| 欧美精产国品一二三产品区别大吗| 天天操天天干天天插| 一区二区三区综合视频| 任我爽精品视频在线播放| 岛国黄色大片在线观看| 黑人巨大精品欧美视频| 日本脱亚入欧是指什么| 亚洲综合一区二区精品久久| 免费观看污视频网站| 中文字幕AV在线免费看 | 91p0rny九色露脸熟女| 黄色录像鸡巴插进去| 日本一二三区不卡无| 欧美视频中文一区二区三区| 91人妻精品久久久久久久网站 | jiuse91九色视频| 欧美在线精品一区二区三区视频 | 国产精品三级三级三级| 午夜成午夜成年片在线观看| 久久久久只精品国产三级| 欧美成人精品欧美一级黄色| 欧美精品国产综合久久| 啊用力插好舒服视频| 丁香花免费在线观看中文字幕| 91人妻精品一区二区在线看| 日韩国产乱码中文字幕| 黄网十四区丁香社区激情五月天| 欧美地区一二三专区| 最新的中文字幕 亚洲| 中文字幕日韩精品就在这里| 国产精品久久久久久久久福交| 热思思国产99re| 成人H精品动漫在线无码播放| 亚洲男人让女人爽的视频| 国产精品一区二区久久久av| 99久久成人日韩欧美精品| 国产一区二区久久久裸臀| 男人靠女人的逼视频| 黑人巨大的吊bdsm| 中国黄色av一级片| 欧美亚洲自偷自拍 在线| 午夜的视频在线观看| 国产综合精品久久久久蜜臀| 黄色在线观看免费观看在线| 中文字幕av一区在线观看| 精品suv一区二区69| 99精品久久久久久久91蜜桃| 中文字幕在线第一页成人| 在线观看av2025| 日韩成人综艺在线播放| 国产精品视频男人的天堂| av男人天堂狠狠干| 91色网站免费在线观看| 午夜国产福利在线观看| 国内资源最丰富的网站| 专门看国产熟妇的网站| 免费在线观看污污视频网站| 日韩欧美中文国产在线| 一二三中文乱码亚洲乱码one| 在线亚洲天堂色播av电影| 日本熟女50视频免费| 日韩av熟妇在线观看| 黄片大全在线观看观看| 国产片免费观看在线观看| 在线观看视频一区麻豆| 免费费一级特黄真人片 | 国产精品探花熟女在线观看| 欧美精品 日韩国产| 3337p日本欧洲大胆色噜噜| 免费国产性生活视频| 自拍偷拍亚洲欧美在线视频| 免费手机黄页网址大全| 欧美黑人与人妻精品| 老司机午夜精品视频资源| 热思思国产99re| 日本性感美女视频网站| 在线观看免费视频色97| 啊啊好大好爽啊啊操我啊啊视频| 日本成人不卡一区二区| 日韩av有码一区二区三区4 | 黄页网视频在线免费观看| 噜噜色噜噜噜久色超碰| 亚洲天堂第一页中文字幕| 中英文字幕av一区| 99精品一区二区三区的区| 国产精品系列在线观看一区二区| 亚洲伊人av天堂有码在线| 亚洲成人午夜电影在线观看| 91人妻精品一区二区在线看| 国产高清97在线观看视频| 91人妻精品一区二区在线看| 久久精品亚洲成在人线a| 久久久91蜜桃精品ad| 粉嫩小穴流水视频在线观看| 日本免费一级黄色录像| 中文字幕乱码人妻电影| 91福利视频免费在线观看| 91精品国产麻豆国产| 亚洲 人妻 激情 中文| xxx日本hd高清| 久久久久久九九99精品| 熟女人妻三十路四十路人妻斩| 97人人妻人人澡人人爽人人精品| 中国黄色av一级片| huangse网站在线观看| 人妻少妇一区二区三区蜜桃| 91在线视频在线精品3| 国产av自拍偷拍盛宴| 国产精品自拍偷拍a| 精品视频一区二区三区四区五区| 91人妻精品久久久久久久网站| 亚洲麻豆一区二区三区| 国产欧美精品不卡在线| 日韩精品中文字幕在线| 超污视频在线观看污污污 | 欧美中文字幕一区最新网址| 在线免费观看视频一二区| 在线成人日韩av电影| 午夜大尺度无码福利视频| 久久麻豆亚洲精品av| 黑人解禁人妻叶爱071| 日本熟妇一区二区x x| 亚洲精品无码色午夜福利理论片| 一级a看免费观看网站| 精品老妇女久久9g国产| 57pao国产一区二区| 国产伊人免费在线播放| 亚洲av午夜免费观看| 激情人妻校园春色亚洲欧美 | 55夜色66夜色国产精品站| 欧美日本国产自视大全| 熟女国产一区亚洲中文字幕| 亚洲精品一区二区三区老狼| 国产欧美精品不卡在线| 日韩一个色综合导航| 亚洲 欧美 精品 激情 偷拍| 一区二区三区日本伦理| 激情伦理欧美日韩中文字幕| 欧美日本在线观看一区二区| tube69日本少妇| 5528327男人天堂| 啪啪啪啪啪啪啪啪啪啪黄色| 国产乱子伦精品视频潮优女| 97超碰免费在线视频| 国产av一区2区3区| 91精品国产91久久自产久强 | 九一传媒制片厂视频在线免费观看| 中文字幕av一区在线观看| 色婷婷综合激情五月免费观看| 日韩av免费观看一区| 日本高清在线不卡一区二区| 好吊视频—区二区三区| 插逼视频双插洞国产操逼插洞| 亚洲粉嫩av一区二区三区| 亚洲国产精品黑丝美女| 丝袜亚洲另类欧美变态| 顶级尤物粉嫩小尤物网站| 亚洲色偷偷综合亚洲AV伊人| 亚洲中文字字幕乱码| 100%美女蜜桃视频| 午夜国产福利在线观看| 午夜福利人人妻人人澡人人爽| 少妇人妻久久久久视频黄片| 国产在线观看黄色视频| 全国亚洲男人的天堂| 最新国产精品网址在线观看| 亚洲成人黄色一区二区三区| 久青青草视频手机在线免费观看| 激情小视频国产在线| 操人妻嗷嗷叫视频一区二区| 亚洲高清视频在线不卡| 国产福利小视频免费观看| 99热国产精品666| 精品久久久久久高潮| 91色老99久久九九爱精品| 超碰97人人澡人人| 欧美80老妇人性视频| 91九色porny国产蝌蚪视频| 国语对白xxxx乱大交| 亚洲激情,偷拍视频| 久久永久免费精品人妻专区| 水蜜桃国产一区二区三区| 精品乱子伦一区二区三区免费播| 99热这里只有精品中文| 亚洲国产成人av在线一区| 日本男女操逼视频免费看| 精品欧美一区二区vr在线观看| 天天插天天狠天天操| 免费人成黄页网站在线观看国产| 欧亚日韩一区二区三区观看视频 | 真实国产乱子伦一区二区| 日本在线一区二区不卡视频| 91人妻精品久久久久久久网站| 人妻av无码专区久久绿巨人| 国产真实灌醉下药美女av福利| 黑人乱偷人妻中文字幕| 亚洲va欧美va人人爽3p| 久久三久久三久久三久久| 黄页网视频在线免费观看| 天天日天天干天天搡| 天天摸天天日天天操| 精品少妇一二三视频在线| 中出中文字幕在线观看| av在线免费资源站| 免费男阳茎伸入女阳道视频| 国产成人精品一区在线观看| 2022天天干天天操| 欧美亚洲自偷自拍 在线| 激情人妻校园春色亚洲欧美| 亚洲一区二区三区精品乱码| 人妻最新视频在线免费观看| 亚洲欧美福利在线观看| 中文字幕在线免费第一页| 欧美天堂av无线av欧美| 97精品视频在线观看| jul—619中文字幕在线| 国产第一美女一区二区三区四区| 1区2区3区不卡视频| 天天想要天天操天天干| 国产精品久久久黄网站| 亚洲第一黄色在线观看| 成人av电影免费版| 精品亚洲中文字幕av| 偷青青国产精品青青在线观看| 成年午夜免费无码区| 天天干天天日天天干天天操| 都市激情校园春色狠狠| 男大肉棒猛烈插女免费视频| 日韩一个色综合导航| 91精品国产91久久自产久强| 成熟熟女国产精品一区| 免费av岛国天堂网站| 国产日韩欧美美利坚蜜臀懂色| 亚洲精品乱码久久久本| 久草视频福利在线首页| 91老师蜜桃臀大屁股| 后入美女人妻高清在线| 在线观看av观看av| 欧美精品亚洲精品日韩在线| 啊啊好慢点插舔我逼啊啊啊视频| 亚洲成人三级在线播放| 在线观看视频污一区| 在线免费91激情四射| 好男人视频在线免费观看网站| 91传媒一区二区三区| 国产精品久久久久国产三级试频| 久久这里只有精彩视频免费| 9久在线视频只有精品| 后入美女人妻高清在线| 中文字幕在线一区精品| 亚洲日产av一区二区在线| 中出中文字幕在线观看| 国产精品中文av在线播放 | 91老熟女连续高潮对白| 在线观看av亚洲情色| 5528327男人天堂| 91破解版永久免费| 美女福利视频导航网站| 91亚洲手机在线视频播放| 欧美精品欧美极品欧美视频| 日韩美女精品视频在线观看网站| 国产精品手机在线看片| 18禁美女无遮挡免费| 日本av高清免费网站| 天天干狠狠干天天操| 中文字幕高清资源站| 黑人性生活视频免费看| 国产午夜无码福利在线看| 午夜精品久久久久久99热| 特黄老太婆aa毛毛片| 午夜在线观看岛国av,com| 国产欧美日韩第三页| 国产精品久久久久网| 日日操综合成人av| 任你操任你干精品在线视频| 一区二区三区日本伦理| 日本xx片在线观看| 97人妻无码AV碰碰视频| 中文字幕欧美日韩射射一| 一级a看免费观看网站| 欧美日韩人妻久久精品高清国产| 久久久91蜜桃精品ad| 国产美女一区在线观看| 精品一区二区三四区| 中国黄片视频一区91| 中国把吊插入阴蒂的视频| 国产欧美日韩第三页| 视频啪啪啪免费观看| 中文字幕一区二区三区人妻大片 | 中文字幕日韩91人妻在线| 东游记中文字幕版哪里可以看到| 天天操夜夜操天天操天天操 | 国产真实乱子伦a视频| 99av国产精品欲麻豆| 日本免费午夜视频网站| 亚欧在线视频你懂的| 亚洲 自拍 色综合图| av天堂中文免费在线| 19一区二区三区在线播放| 一区二区三区视频,福利一区二区| 91大神福利视频网| 精品国产成人亚洲午夜| 日本熟妇丰满厨房55| 欧美性感尤物人妻在线免费看| 91中文字幕免费在线观看| 少妇人妻真实精品视频| 黄色片一级美女黄色片| av在线shipin| 亚洲国产成人av在线一区| 亚洲 中文 自拍 另类 欧美| 久久www免费人成一看片| 国产极品美女久久久久久| 欧美在线一二三视频| 中文字幕1卡1区2区3区| 三级黄色亚洲成人av| 日本韩国在线观看一区二区| 加勒比视频在线免费观看| 最新中文字幕免费视频| 亚洲精品ww久久久久久| 高潮喷水在线视频观看| 午夜精品九一唐人麻豆嫩草成人| 性感美女诱惑福利视频| 91精品国产高清自在线看香蕉网| 97国产在线观看高清| 一区二区三区四区视频在线播放| 岳太深了紧紧的中文字幕| 97成人免费在线观看网站| 成人动漫大肉棒插进去视频| 美女张开腿让男生操在线看| 日本熟女精品一区二区三区| 国产一区二区神马久久| 黄色成人在线中文字幕| 青娱乐蜜桃臀av色| 黑人3p华裔熟女普通话| 日日操综合成人av| 日韩精品激情在线观看| 精品国产乱码一区二区三区乱| 亚洲特黄aaaa片| 久久香蕉国产免费天天| 亚洲av第国产精品| 大陆av手机在线观看| 中文字幕日韩精品日本| 大鸡巴操b视频在线| 亚洲天堂av最新网址| 国产成人综合一区2区| 精品视频国产在线观看| 大陆av手机在线观看| 国产女孩喷水在线观看| 亚洲偷自拍高清视频| 国产欧美精品不卡在线| 青青草国内在线视频精选| 国产精品国产三级麻豆| 日韩欧美一级黄片亚洲| 午夜精品一区二区三区福利视频| 日本在线一区二区不卡视频| 欧美日韩熟女一区二区三区| 亚洲av天堂在线播放| 久久农村老妇乱69系列| 亚洲高清视频在线不卡| 亚洲伊人av天堂有码在线| 黄工厂精品视频在线观看| xxx日本hd高清| 91社福利《在线观看| 91国产在线免费播放| av一本二本在线观看| 久久三久久三久久三久久| 亚洲欧美自拍另类图片| 亚洲一级av无码一级久久精品| 成熟丰满熟妇高潮xx×xx| 一区二区熟女人妻视频| 精品黑人一区二区三区久久国产| 亚洲嫩模一区二区三区| 亚洲精品麻豆免费在线观看| 91九色porny蝌蚪国产成人| 日本免费视频午夜福利视频| 2022天天干天天操| 午夜在线精品偷拍一区二| 在线播放 日韩 av| 老司机免费视频网站在线看| av日韩在线免费播放| 国产午夜无码福利在线看| 老司机99精品视频在线观看| 风流唐伯虎电视剧在线观看| 国产美女精品福利在线| av资源中文字幕在线观看| 亚洲最大黄 嗯色 操 啊| 男生用鸡操女生视频动漫| 亚洲av可乐操首页| 亚洲欧美一区二区三区爱爱动图| 天天干天天日天天谢综合156 | 美女张开两腿让男人桶av| 黄片三级三级三级在线观看| 人人超碰国字幕观看97| 亚洲男人在线天堂网| av在线资源中文字幕| 亚洲成人情色电影在线观看| 女蜜桃臀紧身瑜伽裤| 精品一区二区三区午夜| 香蕉aⅴ一区二区三区| 久草视频 久草视频2| 夜夜骑夜夜操夜夜奸| 国产精品亚洲在线观看| 国产 在线 免费 精品| 熟女91pooyn熟女| 黄色大片免费观看网站| 男女之间激情网午夜在线| 一区二区三区四区视频在线播放| 亚洲av自拍偷拍综合| 亚洲伊人av天堂有码在线| 久久机热/这里只有| 久久久制服丝袜中文字幕| 亚洲蜜臀av一区二区三区九色| 91国语爽死我了不卡| 欧美日本aⅴ免费视频| 999九九久久久精品| av在线shipin| 人妻少妇av在线观看 | 98精产国品一二三产区区别| 91社福利《在线观看| 国产精品午夜国产小视频| 国产精品国产三级国产精东| 在线国产精品一区二区三区| 中文字幕高清免费在线人妻| 内射久久久久综合网| 欧美精品亚洲精品日韩在线| 男人的天堂av日韩亚洲| 亚洲欧洲av天堂综合| 国产av国片精品一区二区| 天天干狠狠干天天操| 中出中文字幕在线观看| 1000部国产精品成人观看视频| 成人av免费不卡在线观看| 中文字幕,亚洲人妻| 亚洲欧洲一区二区在线观看| 日本丰满熟妇BBXBBXHD| 亚洲va国产va欧美精品88| 五月天久久激情视频| 蜜桃视频17c在线一区二区| 日本www中文字幕| 亚洲一区二区三区av网站| 国产伦精品一区二区三区竹菊| 亚洲成a人片777777| 天天色天天爱天天爽| 亚洲欧美一区二区三区电影| 久草视频首页在线观看| 熟女在线视频一区二区三区| 国产又粗又黄又硬又爽| 传媒在线播放国产精品一区| 欧美视频不卡一区四区| 国产精品欧美日韩区二区| 国产亚洲视频在线观看| 久久精品美女免费视频| 97超碰免费在线视频| 在线制服丝袜中文字幕| 日日爽天天干夜夜操| 欧美一区二区三区四区性视频| 亚洲另类综合一区小说| 密臀av一区在线观看| 天天操天天干天天日狠狠插| 青青青青操在线观看免费| 白白操白白色在线免费视频| 美女福利视频网址导航| 日韩黄色片在线观看网站| 五十路在线观看完整版| 中文字幕亚洲久久久| 在线观看免费视频色97| 女同久久精品秋霞网| 欧美伊人久久大香线蕉综合| 亚洲av黄色在线网站| 偷拍自拍亚洲视频在线观看| 国产在线91观看免费观看| 一二三中文乱码亚洲乱码one| 99久久久无码国产精品性出奶水| 亚洲精品麻豆免费在线观看 | 国语对白xxxx乱大交| 无码日韩人妻精品久久| 欧洲欧美日韩国产在线| 一色桃子久久精品亚洲| 欧美日韩熟女一区二区三区| 丝袜国产专区在线观看| 4个黑人操素人视频网站精品91| 国产午夜激情福利小视频在线| 青青擦在线视频国产在线| 性欧美日本大妈母与子| 好男人视频在线免费观看网站| 老熟妇xxxhd老熟女| 99一区二区在线观看| 丝袜长腿第一页在线| 最新中文字幕免费视频| 免费福利av在线一区二区三区| 在线免费观看日本片| 免费观看丰满少妇做受| 丁香花免费在线观看中文字幕| av在线免费资源站| 在线观看国产网站资源| 免费高清自慰一区二区三区网站| 色综合天天综合网国产成人| 大香蕉伊人国产在线| 亚洲一区制服丝袜美腿| 又黄又刺激的午夜小视频| 一区二区在线视频中文字幕| 黑人大几巴狂插日本少妇| 中文字幕日韩91人妻在线| 在线免费观看欧美小视频| 久久这里有免费精品| 韩国黄色一级二级三级| 国产卡一卡二卡三乱码手机| 午夜蜜桃一区二区三区| 午夜精品一区二区三区城中村| 熟妇一区二区三区高清版| 阿v天堂2014 一区亚洲| 亚洲激情唯美亚洲激情图片| 动漫av网站18禁| 精品老妇女久久9g国产| 5528327男人天堂| 少妇高潮无套内谢麻豆| 欧洲日韩亚洲一区二区三区 | 亚洲av自拍偷拍综合| 91she九色精品国产| 日韩av中文在线免费观看| 日本熟妇色熟妇在线观看| 国产成人小视频在线观看无遮挡 | 国产精品视频欧美一区二区| 老师啊太大了啊啊啊尻视频| 久久麻豆亚洲精品av| 日韩人妻在线视频免费| 日本xx片在线观看| av中文字幕在线观看第三页| 欧美韩国日本国产亚洲| 夜色福利视频在线观看| 中文 成人 在线 视频| 一区二区三区激情在线| 国产精品黄色的av| 欧美aa一级一区三区四区| 黑人巨大的吊bdsm| 91高清成人在线视频| 成人蜜桃美臀九一一区二区三区| www,久久久,com| 成人久久精品一区二区三区| 国产精品自拍在线视频| 91中文字幕免费在线观看| 精品久久久久久久久久久99| 欧美viboss性丰满| 日韩国产乱码中文字幕| 日韩成人综艺在线播放| 亚洲av无硬久久精品蜜桃| 国产真实乱子伦a视频| 天天干天天操天天玩天天射| 国产视频网站一区二区三区| 91精品国产91久久自产久强 | 天天艹天天干天天操| 久久热久久视频在线观看| 免费av岛国天堂网站| 综合国产成人在线观看| 大白屁股精品视频国产| 青青热久免费精品视频在线观看| caoporn蜜桃视频| 久久国产精品精品美女| 在线免费观看靠比视频的网站| 动漫精品视频在线观看| 在线免费观看av日韩| 亚洲欧美日韩视频免费观看| 青青草亚洲国产精品视频| 国产亚洲天堂天天一区| 天天操天天操天天碰| weyvv5国产成人精品的视频| 91免费放福利在线观看| 免费成人av中文字幕| huangse网站在线观看| 国产免费高清视频视频| 中文字幕亚洲久久久| 99久久久无码国产精品性出奶水 | 国产熟妇人妻ⅹxxxx麻豆| 直接观看免费黄网站| 国产精品亚洲在线观看| 亚洲福利精品福利精品福利| 成人久久精品一区二区三区| 国产白袜脚足J棉袜在线观看| 91大屁股国产一区二区| 天天日天天干天天干天天日| 91国产资源在线视频| 日本性感美女视频网站| 99亚洲美女一区二区三区| 欧美男人大鸡吧插女人视频| 中文字幕午夜免费福利视频| 日韩欧美高清免费在线| 久碰精品少妇中文字幕av| 天天通天天透天天插| yellow在线播放av啊啊啊| 91国内视频在线观看| 韩国一级特黄大片做受| 亚洲福利精品福利精品福利| 青青青青青青青青青青草青青 | 天堂中文字幕翔田av| 天天射夜夜操狠狠干| 国际av大片在线免费观看| av日韩在线观看大全| 亚洲一区二区三区精品视频在线| 在线国产中文字幕视频| 天天色天天舔天天射天天爽| 日韩精品一区二区三区在线播放| 成年美女黄网站18禁久久| 国产亚洲国产av网站在线| 亚洲va天堂va国产va久| 久草视频在线看免费| 大学生A级毛片免费视频| 啊用力插好舒服视频| 欧美中文字幕一区最新网址| 宅男噜噜噜666国产| ka0ri在线视频| 亚洲推理片免费看网站| 99久久99久国产黄毛片| 中文 成人 在线 视频| 福利在线视频网址导航| 亚洲国产香蕉视频在线播放| 少妇露脸深喉口爆吞精| 亚洲精品成人网久久久久久小说| 亚洲成人黄色一区二区三区| 无码中文字幕波多野不卡| 青青草精品在线视频观看| 免费av岛国天堂网站| 在线观看视频污一区| 99热这里只有国产精品6| 日韩三级黄色片网站| 91精品资源免费观看| 自拍偷拍vs一区二区三区| 欧美日本在线观看一区二区| 亚洲高清一区二区三区视频在线| 午夜成午夜成年片在线观看 | 午夜精品一区二区三区福利视频| 亚洲 欧美 自拍 偷拍 在线| 国产污污污污网站在线| 亚洲成高清a人片在线观看| 日本韩国免费福利精品| 污污小视频91在线观看| 在线视频精品你懂的| 精品黑人一区二区三区久久国产 | 国产精品国产三级国产午| 无码中文字幕波多野不卡| 狠狠嗨日韩综合久久| 人人爱人人妻人人澡39| 绯色av蜜臀vs少妇| 激情人妻校园春色亚洲欧美| 亚洲av极品精品在线观看| 欧美日韩中文字幕欧美| 和邻居少妇愉情中文字幕| 91成人精品亚洲国产| 人人妻人人澡人人爽人人dvl| 在线 中文字幕 一区| 熟女妇女老妇一二三区| 色哟哟国产精品入口| 欧美日韩情色在线观看| 99一区二区在线观看| 亚洲精品ww久久久久久| 人人在线视频一区二区| 老司机99精品视频在线观看| 清纯美女在线观看国产| 欧美精品亚洲精品日韩在线| 青青青青青操视频在线观看| 天堂av在线播放免费| 人妻熟女中文字幕aⅴ在线 | 日本欧美视频在线观看三区| 日本啪啪啪啪啪啪啪| av一区二区三区人妻| 久久久久久cao我的性感人妻| 啊用力插好舒服视频| 中文字幕在线永久免费播放| 最新日韩av传媒在线| 小泽玛利亚视频在线观看| 欧美特色aaa大片| 国产高潮无码喷水AV片在线观看| 北条麻妃肉色丝袜视频| 亚洲另类图片蜜臀av| 天堂va蜜桃一区入口| 伊人网中文字幕在线视频| av手机在线观播放网站| 日本真人性生活视频免费看| 在线观看国产免费麻豆| 熟女妇女老妇一二三区| av黄色成人在线观看| 视频一区 视频二区 视频| av在线资源中文字幕| 中字幕人妻熟女人妻a62v网| 夜鲁夜鲁狠鲁天天在线| 欧美成人精品欧美一级黄色| 91精品国产91久久自产久强| 精内国产乱码久久久久久| 人妻最新视频在线免费观看| 99热99这里精品6国产| 成人av在线资源网站| av手机在线免费观看日韩av| 鸡巴操逼一级黄色气| 精品美女福利在线观看| 成人精品在线观看视频| 91九色porny国产蝌蚪视频| av资源中文字幕在线观看| 国产视频精品资源网站| 精品成人啪啪18免费蜜臀| 综合一区二区三区蜜臀| 国产刺激激情美女网站| 大陆av手机在线观看| 午夜在线精品偷拍一区二| 直接能看的国产av| 亚洲熟色妇av日韩熟色妇在线| 亚洲 欧美 精品 激情 偷拍| 免费大片在线观看视频网站| 偷拍自拍国产在线视频| 亚洲av日韩精品久久久| 中文字幕免费在线免费| 亚洲青青操骚货在线视频| 香港一级特黄大片在线播放| 亚洲卡1卡2卡三卡四老狼| 欧美一区二区三区久久久aaa| av在线shipin| 国产aⅴ一线在线观看| 亚洲区美熟妇久久久久| 国际av大片在线免费观看| 粉嫩av蜜乳av蜜臀 | 97人人妻人人澡人人爽人人精品| 午夜美女福利小视频| 少妇人妻100系列| 欧美80老妇人性视频| 97人人模人人爽人人喊| 中文字幕乱码人妻电影| 国产一区二区三免费视频| 孕妇奶水仑乱A级毛片免费看| 五月精品丁香久久久久福利社| 亚洲精品麻豆免费在线观看| 第一福利视频在线观看| 成人网18免费视频版国产| 在线观看国产网站资源| 女同性ⅹxx女同h偷拍| 婷婷久久久综合中文字幕| 黄色无码鸡吧操逼视频| 中文字幕一区二区人妻电影冢本| 香港三日本三韩国三欧美三级| 夜鲁夜鲁狠鲁天天在线| 99国内精品永久免费视频| 国产综合视频在线看片| 久久热这里这里只有精品| 99热久久极品热亚洲| 国产1区,2区,3区| 国产成人综合一区2区| 骚货自慰被发现爆操| 任我爽精品视频在线播放| 大屁股熟女一区二区三区| 青娱乐极品视频青青草| 中文字幕中文字幕 亚洲国产| 一区二区三区四区视频在线播放 | av手机在线观播放网站| 亚洲国产成人最新资源| 水蜜桃国产一区二区三区| 中国产一级黄片免费视频播放| 日日爽天天干夜夜操| 端庄人妻堕落挣扎沉沦| 一区二区三区蜜臀在线| 一色桃子人妻一区二区三区| 40道精品招牌菜特色| 综合精品久久久久97| 五月婷婷在线观看视频免费| 欧美久久久久久三级网| 一区二区麻豆传媒黄片| 888亚洲欧美国产va在线播放| 999热精品视频在线| 成人动漫大肉棒插进去视频| 亚洲护士一区二区三区| 99精品视频在线观看婷婷| 日本人竟这样玩学生妹| 欧美精产国品一二三产品价格| 国产一区自拍黄视频免费观看| 57pao国产一区二区| 亚洲在线一区二区欧美| 欧美男同性恋69视频| 欧美偷拍自拍色图片| 亚洲 中文字幕在线 日韩| 最后99天全集在线观看| 国产综合高清在线观看| 中文字幕之无码色多多| 亚洲av一妻不如妾| 2019av在线视频| 少妇人妻100系列| 99亚洲美女一区二区三区| 一区二区三区另类在线| 亚洲综合另类精品小说| 亚洲女人的天堂av| 亚洲av午夜免费观看| 岛国免费大片在线观看| 91综合久久亚洲综合| 九色porny九色9l自拍视频| 最后99天全集在线观看| 黑人性生活视频免费看| 38av一区二区三区| 天天干天天操天天摸天天射| 日韩熟女系列一区二区三区| 日本美女成人在线视频| 亚洲免费视频欧洲免费视频| 国产熟妇乱妇熟色T区| 亚洲护士一区二区三区| 2020中文字幕在线播放| 日韩三级电影华丽的外出| 99精品免费久久久久久久久a| 肏插流水妹子在线乐播下载| 99av国产精品欲麻豆| av天堂资源最新版在线看| 亚洲国产最大av综合| 99精品免费观看视频| 黑人大几巴狂插日本少妇| 521精品视频在线观看| 黄色在线观看免费观看在线| 亚洲精品 日韩电影| 97精品视频在线观看| 亚洲午夜电影在线观看| 超级福利视频在线观看| 大肉大捧一进一出好爽在线视频| 99re久久这里都是精品视频| 最新激情中文字幕视频| 精品久久久久久久久久中文蒉| 欧洲欧美日韩国产在线| 国产一区二区三免费视频 | 韩国三级aaaaa高清视频| 日本人竟这样玩学生妹| 99亚洲美女一区二区三区| 久久精品国产999| 国产剧情演绎系列丝袜高跟| 色综合久久五月色婷婷综合| 亚洲 中文字幕在线 日韩| 精品久久久久久高潮| 女同性ⅹxx女同h偷拍| 免费av岛国天堂网站| 青青社区2国产视频| 女同久久精品秋霞网| 国产精品人妻66p| 自拍偷拍亚洲欧美在线视频| 亚洲久久午夜av一区二区| av亚洲中文天堂字幕网| 免费无毒热热热热热热久| 91桃色成人网络在线观看| 亚洲一区二区三区久久午夜| 日本少妇的秘密免费视频| 人妻凌辱欧美丰满熟妇| gogo国模私拍视频| 真实国模和老外性视频| 国产精品污污污久久| 韩国AV无码不卡在线播放| asmr福利视频在线观看| 天天干天天操天天爽天天摸| 国产精品自拍视频大全| 亚洲 色图 偷拍 欧美| 老司机午夜精品视频资源| 亚洲欧美久久久久久久久| 免费黄色成人午夜在线网站| 色噜噜噜噜18禁止观看| 黄片色呦呦视频免费看| 亚洲精品一线二线在线观看| 精品一线二线三线日本| 97超碰国语国产97超碰| 亚洲国产成人av在线一区| 一级黄色av在线观看| 日本少妇的秘密免费视频| 2022精品久久久久久中文字幕| 天美传媒mv视频在线观看| 中文字幕一区二区三区人妻大片| 亚洲1区2区3区精华液| 日日夜夜大香蕉伊人| 日韩欧美国产一区ab| 天堂av中文在线最新版| 亚洲精品 日韩电影| 伊人开心婷婷国产av| 欧美国品一二三产区区别| 人妻少妇亚洲精品中文字幕| 视频啪啪啪免费观看| 国产又色又刺激在线视频 | 少妇ww搡性bbb91| 国产亚洲精品品视频在线| 一区二区三区在线视频福利| 免费观看理论片完整版| 免费高清自慰一区二区三区网站 | 免费看美女脱光衣服的视频| 色爱av一区二区三区| 扒开腿挺进肉嫩小18禁视频| 99久久成人日韩欧美精品| 国产欧美日韩第三页| 成年人啪啪视频在线观看| 新婚人妻聚会被中出| 久久永久免费精品人妻专区| 福利一二三在线视频观看| 岛国av高清在线成人在线| 亚洲在线免费h观看网站| 999九九久久久精品| 天天操夜夜骑日日摸| 1769国产精品视频免费观看| 国产精品3p和黑人大战| 人妻少妇中文有码精品| 大屁股肉感人妻中文字幕在线| 亚洲激情偷拍一区二区| 亚洲免费在线视频网站| 欧洲国产成人精品91铁牛tv| 亚洲欧美另类手机在线| 成人色综合中文字幕| 中文字幕免费在线免费| 高清一区二区欧美系列| 适合午夜一个人看的视频| 国产夫妻视频在线观看免费| 91国产资源在线视频| 黄色片黄色片wyaa| 姐姐的朋友2在线观看中文字幕| 亚洲 图片 欧美 图片| 午夜蜜桃一区二区三区| 欧美色呦呦最新网址| 国产一区二区在线欧美| 爆乳骚货内射骚货内射在线 | 天天躁日日躁狠狠躁躁欧美av| 毛片av在线免费看| 国语对白xxxx乱大交| 人妻凌辱欧美丰满熟妇| 91极品新人『兔兔』精品新作| 好太好爽好想要免费| 欧美激情精品在线观看| 老师啊太大了啊啊啊尻视频| 国产精品黄色的av| 免费费一级特黄真人片| 涩爱综合久久五月蜜臀| 久久免看30视频口爆视频| 动漫美女的小穴视频| 久青青草视频手机在线免费观看 | 天天操天天射天天操天天天| 青娱乐蜜桃臀av色| 日韩av大胆在线观看| 精品av久久久久久久| 青青青国产片免费观看视频| 欧美黄色录像免费看的| 快点插进来操我逼啊视频| 888欧美视频在线| 天天日天天添天天爽| 久久人人做人人妻人人玩精品vr| 国产高潮无码喷水AV片在线观看| 国产午夜男女爽爽爽爽爽视频| 久久久久久97三级| 粗大的内捧猛烈进出爽大牛汉子| av网址在线播放大全| 91快播视频在线观看| 日韩精品一区二区三区在线播放| 性欧美激情久久久久久久 | 老司机福利精品视频在线| 国产女人露脸高潮对白视频| 黑人巨大的吊bdsm| 中文字幕人妻被公上司喝醉在线| 中文字幕在线观看极品视频| 99re久久这里都是精品视频| 在线免费观看视频一二区| 欧美区一区二区三视频| 自拍偷拍,中文字幕| 免费看美女脱光衣服的视频| 五十路息与子猛烈交尾视频| 午夜青青草原网在线观看| 最新97国产在线视频| 无码国产精品一区二区高潮久久4| 福利视频一区二区三区筱慧| 欧美在线偷拍视频免费看| 99久久99一区二区三区| 91成人精品亚洲国产| 少妇露脸深喉口爆吞精| 最近的中文字幕在线mv视频| 久久热久久视频在线观看| 真实国模和老外性视频| 免费一级黄色av网站| 888欧美视频在线| 99精品亚洲av无码国产另类| 亚洲码av无色中文| 337p日本大胆欧美人| 91社福利《在线观看| 91大神福利视频网| av在线播放国产不卡| 亚洲av一妻不如妾| 玩弄人妻熟妇性色av少妇| 久久机热/这里只有| 久久三久久三久久三久久| 日本在线不卡免费视频| 自拍偷拍亚洲精品第2页| 唐人色亚洲av嫩草| 国产又大又黄免费观看| 色婷婷久久久久swag精品| 自拍 日韩 欧美激情| 美女av色播在线播放| 漂亮 人妻被中出中文| 国产麻豆剧传媒精品国产av蜜桃| 国产日韩av一区二区在线| 久草视频在线一区二区三区资源站| 成人av在线资源网站| 2020久久躁狠狠躁夜夜躁 | 久久久麻豆精亚洲av麻花| 中文字幕人妻熟女在线电影| 青青青青青青草国产| 免费观看丰满少妇做受| 红杏久久av人妻一区| 老司机欧美视频在线看| 2022国产精品视频| 中文字幕av男人天堂| 国产精品一区二区三区蜜臀av | 国产日韩精品电影7777| 天天色天天操天天舔| av一本二本在线观看| 九一传媒制片厂视频在线免费观看 | 91久久精品色伊人6882| 亚洲特黄aaaa片| 日本高清成人一区二区三区| 日本一二三中文字幕|