community.docker.docker_swarm_service 模块 – docker swarm 服务

注意

此模块是 community.docker 集合(版本 4.1.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.docker。您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。

要在 playbook 中使用它,请指定:community.docker.docker_swarm_service

概要

  • 通过 swarm 管理器节点管理 docker 服务。

  • 此模块不支持更新堆栈中的服务。

要求

执行此模块的主机需要以下要求。

参数

参数

注释

api_version

别名:docker_api_version

字符串

Docker 主机上运行的 Docker API 的版本。

默认为 Docker SDK for Python 和 docker 守护程序支持的最新 API 版本。

如果任务中未指定该值,则将改用环境变量 DOCKER_API_VERSION 的值。如果未设置环境变量,则将使用默认值。

默认值: "auto"

args

列表 / 元素=字符串

要传递给容器的参数列表。

对应于 docker service createARG 参数。

ca_path

别名:ca_cert、tls_ca_cert、cacert_path

路径

通过提供 CA 证书文件的路径,在执行服务器验证时使用 CA 证书。

如果任务中未指定该值且设置了环境变量 DOCKER_CERT_PATH,则将使用环境变量 DOCKER_CERT_PATH 中指定的目录中的 ca.pem 文件。

此选项之前名为 ca_cert,并在 community.docker 3.6.0 中重命名为 ca_path。旧名称已添加为别名,仍然可以使用。

cap_add

列表 / 元素=字符串

在 community.docker 2.2.0 中添加

要添加到容器的功能列表。

需要 API 版本 >= 1.41。

cap_drop

列表 / 元素=字符串

在 community.docker 2.2.0 中添加

要从容器中删除的功能列表。

需要 API 版本 >= 1.41。

client_cert

别名:tls_client_cert、cert_path

路径

客户端 TLS 证书文件的路径。

如果任务中未指定该值且设置了环境变量 DOCKER_CERT_PATH,则将使用环境变量 DOCKER_CERT_PATH 中指定的目录中的 cert.pem 文件。

client_key

别名:tls_client_key、key_path

路径

客户端 TLS 密钥文件的路径。

如果任务中未指定该值且设置了环境变量 DOCKER_CERT_PATH,则将使用环境变量 DOCKER_CERT_PATH 中指定的目录中的 key.pem 文件。

command

any

容器启动时要执行的命令。

命令可以是字符串、列表或字符串列表。

对应于 docker service createCOMMAND 参数。

configs

list / elements=dictionary

描述服务配置的字典列表。

对应于 docker service create--config 选项。

需要 API 版本 >= 1.30。

config_id

字符串

配置的 ID。

config_name

string / required

配置的名称,与创建时定义的名称一致。

filename

字符串

包含配置的文件名。如果未指定,则默认为 configs[].config_name

gid

字符串

配置文件组的 GID。

mode

integer

容器内部的文件访问模式。必须是八进制数(如 06440444)。

uid

字符串

配置文件所有者的 UID。

container_labels

dictionary

键值对的字典。

对应于 docker service create--container-label 选项。

debug

boolean

调试模式

Choices

  • false ← (默认)

  • true

dns

列表 / 元素=字符串

自定义 DNS 服务器列表。

对应于 docker service create--dns 选项。

dns_options

列表 / 元素=字符串

自定义 DNS 选项列表。

对应于 docker service create--dns-option 选项。

列表 / 元素=字符串

自定义 DNS 搜索域列表。

对应于 docker service create--dns-search 选项。

docker_host

别名: docker_url

字符串

用于连接 Docker API 的 URL 或 Unix 套接字路径。要连接到远程主机,请提供 TCP 连接字符串。例如,tcp://192.0.2.23:2376。如果使用 TLS 加密连接,模块会自动将连接 URL 中的 tcp 替换为 https

如果任务中未指定该值,则会使用环境变量 DOCKER_HOST 的值。如果未设置环境变量,则会使用默认值。

默认值: "unix:///var/run/docker.sock"

endpoint_mode

字符串

服务端点模式。

对应于 docker service create--endpoint-mode 选项。

Choices

  • "vip"

  • "dnsrr"

env

any

服务环境变量的列表或字典。

如果传递列表,则每个项目需要采用 KEY=VALUE 的格式。

如果传递字典,则 YAML 解析器可能会将值解析为数字、布尔值或其他类型,为了避免数据丢失,必须引用这些值(例如 "true")。

对应于 docker service create--env 选项。

env_files

list / elements=path

目标上存在的包含环境变量 FOO=BAR 的文件路径列表。

列表的顺序在确定多次出现的变量的值时很重要。

如果变量也存在于 env 中,则 env 的值将覆盖。

force_update

boolean

即使没有更改需要,也强制更新。

对应于 docker service update--force 选项。

Choices

  • false ← (默认)

  • true

groups

列表 / 元素=字符串

容器进程将作为其运行的其他组名称和/或 ID 的列表。

对应于 docker service update--group 选项。

healthcheck

dictionary

配置一个检查,用于确定此服务的容器是否“健康”。有关运行状况检查工作原理的详细信息,请参阅 HEALTHCHECK Dockerfile 指令 的文档。

healthcheck.intervalhealthcheck.timeouthealthcheck.start_period 指定为持续时间。它们接受以字符串形式表示的持续时间,格式如下:5h34m56s1m30s 等。支持的单位是 usmssmh

interval

字符串

运行检查的时间间隔。

retries

integer

报告不健康所需的连续失败次数。它接受整数值。

start_period

字符串

在启动健康重试倒计时之前,容器初始化的开始时间段。

test

any

运行以检查运行状况的命令。

必须是字符串或列表。如果是一个列表,则第一项必须是 NONECMDCMD-SHELL 之一。

timeout

字符串

允许一次检查运行的最长时间。

hostname

字符串

容器主机名。

对应于 docker service create--hostname 选项。

hosts

dictionary

主机到 IP 的映射字典,其中每个主机名都是字典中的键。每个主机名都将添加到容器的 /etc/hosts 文件中。

对应于 docker service create--host 选项。

image

字符串

服务镜像路径和标签。

对应于 docker service createIMAGE 参数。

init

boolean

在每个服务容器内部使用 init 来转发信号和回收进程。

对应于 docker service create--init 选项。

需要 API 版本 >= 1.37。

Choices

  • false

  • true

labels

dictionary

键值对的字典。

对应于 docker service create--label 选项。

limits

dictionary

配置服务资源限制。

cpus

float

服务 CPU 限制。0 表示无限制。

对应于 docker service create--limit-cpu 选项。

memory

字符串

服务内存限制,格式为 <number>[<unit>]。数字是正整数。单位可以是 B(字节)、K(千字节,1024B)、M(兆字节)、G(吉字节)、T(太字节)或 P(拍字节)。

0 表示无限制。

省略单位默认为字节。

对应于 docker service create--limit-memory 选项。

logging

dictionary

服务的日志配置。

driver

字符串

配置服务的日志驱动程序。

对应于 docker service create--log-driver 选项。

options

dictionary

服务日志驱动程序的选项。

对应于 docker service create--log-opt 选项。

mode

字符串

服务复制模式。

更改时将删除并重新创建服务。

对应于 docker service create--mode 选项。

Choices

  • "replicated" ← (默认)

  • "global"

mounts

list / elements=dictionary

描述服务挂载的字典列表。

对应于 docker service create--mount 选项。

driver_config

dictionary

卷驱动程序配置。

只能在 mounts[].type=volume 时使用。

name

字符串

用于卷的卷驱动程序插件的名称。

options

dictionary

作为键值对传递给此卷驱动程序的选项。

labels

dictionary

要应用的卷标签。

no_copy

boolean

禁用在创建卷时从容器复制数据。

只能在 mounts[].type=volume 时使用。

Choices

  • false

  • true

propagation

字符串

要使用的传播模式。

仅当 mounts[].type=bind 时才可以使用。

Choices

  • "shared"

  • "slave"

  • "private"

  • "rshared"

  • "rslave"

  • "rprivate"

readonly

boolean

挂载是否应为只读。

Choices

  • false

  • true

source

字符串

挂载源(例如卷名称或主机路径)。

如果 mounts[].type 不是 tmpfs,则必须指定。

target

string / required

容器路径。

tmpfs_mode

integer

tmpfs 的文件模式,八进制表示。

仅当 mounts[].type=tmpfs 时才可以使用。

tmpfs_size

字符串

tmpfs 挂载的大小,格式为 <number>[<unit>]。数字为正整数。单位可以是 B (字节)、K (千字节,1024B)、M (兆字节)、G (吉字节)、T (太字节) 或 P (拍字节)。

仅当 mounts[].type=tmpfs 时才可以使用。

type

字符串

挂载类型。

请注意,npipe 仅 Windows 版 Docker 支持。 另请注意,npipe 在 Ansible 2.9 中添加。

Choices

  • "bind" ← (默认)

  • "volume"

  • "tmpfs"

  • "npipe"

name

string / required

服务名称。

对应于 docker service create--name 选项。

networks

list / elements=any

服务网络名称或字典的列表。

当传递字典时,有效的子选项为 name(必需),以及 aliasesoptions

在 API 版本 1.29 之前,不支持更新和删除网络。如果进行了更改,则会删除并重新创建服务。

对应于 docker service create--network 选项。

placement

dictionary

配置服务放置偏好和约束。

constraints

列表 / 元素=字符串

服务约束的列表。

对应于 docker service create--constraint 选项。

preferences

list / elements=dictionary

作为键值对的放置偏好列表。

对应于 docker service create--placement-pref 选项。

需要 API 版本 >= 1.27。

replicas_max_per_node

integer

在 community.docker 1.3.0 中添加

每个节点的最大任务数。

对应于 docker service create--replicas_max_per_node 选项。

需要 API 版本 >= 1.40

publish

list / elements=dictionary

描述服务发布的端口的字典列表。

对应于 docker service create--publish 选项。

mode

字符串

要使用的发布模式。

需要 API 版本 >= 1.32。

Choices

  • "ingress"

  • "host"

protocol

字符串

要使用的协议。

Choices

  • "tcp" ← (默认)

  • "udp"

published_port

integer

要外部可用的端口。

target_port

integer / required

容器内要公开的端口。

read_only

boolean

将容器的根文件系统以只读方式挂载。

对应于 docker service create--read-only 选项。

Choices

  • false

  • true

replicas

integer

服务中实例化的容器数量。仅当 mode=replicated 时有效。

如果设置为 -1 且服务不存在,则服务副本将设置为 1

如果设置为 -1 且服务存在,则服务副本将保持不变。

对应于 docker service create--replicas 选项。

默认值: -1

reservations

dictionary

配置服务资源预留。

cpus

float

服务 CPU 预留。0 表示没有预留。

对应于 docker service create--reserve-cpu 选项。

memory

字符串

服务内存预留,格式为 <number>[<unit>]。数字为正整数。单位可以是 B (字节)、K (千字节,1024B)、M (兆字节)、G (吉字节)、T (太字节) 或 P (拍字节)。

0 表示没有预留。

省略单位默认为字节。

对应于 docker service create--reserve-memory 选项。

resolve_image

boolean

是否应从注册表解析并更新当前镜像摘要(如果已更改)。

需要 API 版本 >= 1.30。

Choices

  • false ← (默认)

  • true

restart_config

dictionary

配置容器退出时是否以及如何重启。

condition

字符串

服务的重启条件。

对应于 docker service create--restart-condition 选项。

Choices

  • "none"

  • "on-failure"

  • "any"

delay

字符串

重启之间的延迟。

接受格式如下的字符串:5h34m56s1m30s 等。支持的单位为 usmssmh

对应于 docker service create--restart-delay 选项。

max_attempts

integer

服务重启的最大次数。

对应于 docker service create--restart-condition 选项。

window

字符串

重启策略评估窗口。

接受格式如下的字符串:5h34m56s1m30s 等。支持的单位为 usmssmh

对应于 docker service create--restart-window 选项。

rollback_config

dictionary

配置在更新失败的情况下应如何回滚服务。

delay

字符串

任务回滚之间的延迟。

接受格式如下的字符串:5h34m56s1m30s 等。支持的单位为 usmssmh

对应于 docker service create--rollback-delay 选项。

需要 API 版本 >= 1.28。

failure_action

字符串

回滚失败时要采取的操作。

对应于 docker service create--rollback-failure-action 选项。

需要 API 版本 >= 1.28。

Choices

  • "continue"

  • "pause"

max_failure_ratio

float

在回滚期间可能失败的任务的分数。

对应于 docker service create--rollback-max-failure-ratio 选项。

需要 API 版本 >= 1.28。

monitor

字符串

每次任务回滚后监控失败的持续时间。

接受格式如下的字符串:5h34m56s1m30s 等。支持的单位为 usmssmh

对应于 docker service create--rollback-monitor 选项。

需要 API 版本 >= 1.28。

order

字符串

指定回滚期间操作的顺序。

对应于 docker service create--rollback-order 选项。

需要 API 版本 >= 1.29。

parallelism

integer

一次回滚的容器数量。如果设置为 0,则所有容器同时回滚。

对应于 docker service create--rollback-parallelism 选项。

需要 API 版本 >= 1.28。

secrets

list / elements=dictionary

描述服务密钥的字典列表。

对应于 docker service create--secret 选项。

filename

字符串

包含密钥的文件名。如果未指定,则默认为 secrets[].secret_name

对应于 docker service create --secrettarget 键。

gid

字符串

密钥文件组的 GID。

mode

integer

容器内部的文件访问模式。必须是八进制数(如 06440444)。

secret_id

字符串

密钥的 ID。

secret_name

string / required

创建时定义的密钥名称。

uid

字符串

密钥文件所有者的 UID。

state

字符串

absent - 将删除与指定名称匹配的服务并停止其任务。

present - 断言存在与名称和提供的配置参数匹配的服务。未指定的配置参数将设置为 Docker 默认值。

Choices

  • "present" ← (默认)

  • "absent"

stop_grace_period

字符串

在强制杀死容器之前等待的时间。

接受格式为字符串的持续时间,例如:5h34m56s, 1m30s 等。支持的单位为 us, ms, s, mh

对应于 docker service create--stop-grace-period 选项。

stop_signal

字符串

覆盖用于停止容器的默认信号。

对应于 docker service create--stop-signal 选项。

sysctls

dictionary

在 community.docker 3.10.0 中添加

键值对的字典。

timeout

integer

等待来自 API 响应的最大时间(秒)。

如果未在任务中指定该值,则将使用环境变量 DOCKER_TIMEOUT 的值。如果未设置环境变量,则将使用默认值。

默认值: 60

tls

boolean

通过使用 TLS 而不验证 Docker 主机服务器的真实性来保护与 API 的连接。请注意,如果同时将 validate_certs 设置为 true,则它将优先。

如果未在任务中指定该值,则将使用环境变量 DOCKER_TLS 的值。如果未设置环境变量,则将使用默认值。

Choices

  • false ← (默认)

  • true

tls_hostname

字符串

在验证 Docker 主机服务器的真实性时,提供服务器的预期名称。

如果未在任务中指定该值,则将使用环境变量 DOCKER_TLS_HOSTNAME 的值。如果未设置环境变量,则将使用默认值。

请注意,此选项在旧版本中的默认值为 localhost。它已在 community.docker 3.0.0 中删除。

注意: Docker SDK for Python 7.0.0+ 不再支持此选项。使用 Docker SDK for Python 7.0.0 或更高版本指定它将导致错误。

tty

boolean

分配一个伪终端。

对应于 docker service create--tty 选项。

Choices

  • false

  • true

update_config

dictionary

配置应如何更新服务。用于配置滚动更新非常有用。

delay

字符串

滚动更新延迟。

接受格式如下的字符串:5h34m56s1m30s 等。支持的单位为 usmssmh

对应于 docker service create--update-delay 选项。

failure_action

字符串

容器发生故障时要采取的操作。

对应于 docker service create--update-failure-action 选项。

使用 rollback 需要 API 版本 >= 1.29。

Choices

  • "continue"

  • "pause"

  • "rollback"

max_failure_ratio

float

在调用失败操作之前,更新期间可能失败的任务比例。

对应于 docker service create--update-max-failure-ratio 选项。

monitor

字符串

监视更新任务失败的时间。

接受格式如下的字符串:5h34m56s1m30s 等。支持的单位为 usmssmh

对应于 docker service create--update-monitor 选项。

order

字符串

指定推出更新任务时操作的顺序。

对应于 docker service create--update-order 选项。

需要 API 版本 >= 1.29。

parallelism

integer

滚动更新并行度。

对应于 docker service create--update-parallelism 选项。

use_ssh_client

boolean

在 community.docker 1.5.0 中添加

对于 SSH 传输,请使用 ssh CLI 工具而不是 paramiko。

需要 Docker SDK for Python 4.4.0 或更高版本。

Choices

  • false ← (默认)

  • true

user

字符串

设置用于指定命令的用户名或 UID。

在 Ansible 2.8 之前,此选项的默认值为 root

默认值已被删除,因此如果此处未指定用户,则使用镜像中定义的用户。

对应于 docker service create--user 选项。

validate_certs

别名: tls_verify

boolean

通过使用 TLS 并验证 Docker 主机服务器的真实性来保护与 API 的连接。

如果未在任务中指定该值,则将使用环境变量 DOCKER_TLS_VERIFY 的值。如果未设置环境变量,则将使用默认值。

Choices

  • false ← (默认)

  • true

working_dir

字符串

工作目录的路径。

对应于 docker service create--workdir 选项。

属性

属性

支持

描述

action_group

操作组: community.docker.docker, docker

module_defaults 中使用 group/dockergroup/community.docker.docker 为此模块设置默认值。

check_mode

支持: 完整

可以在 check_mode 中运行并返回更改状态预测,而无需修改目标。

diff_mode

支持: 完整

在 diff 模式下,将返回有关已更改的内容(或可能需要在 check_mode 中更改的内容)的详细信息。

说明

注意

  • 仅当使用 Docker API >= 1.30 和 Docker SDK for Python >= 3.2.0 时,镜像才会解析为最新的摘要。使用较旧版本时,请使用 force_update=true 来触发 swarm 解析新镜像。

  • 可以通过为每个任务提供参数或定义环境变量来连接到 Docker 守护进程。您可以定义 DOCKER_HOST, DOCKER_TLS_HOSTNAME, DOCKER_API_VERSION, DOCKER_CERT_PATH, DOCKER_TLS, DOCKER_TLS_VERIFYDOCKER_TIMEOUT。如果您正在使用 docker machine,请运行产品附带的脚本,该脚本会设置环境。它将为您设置这些变量。有关更多详细信息,请参阅 https://docs.docker.net.cn/machine/reference/env/

  • 当使用 TLS 连接到 Docker 守护进程时,您可能需要安装额外的 Python 包。对于 Python 的 Docker SDK,版本 2.4 或更高版本,可以通过使用 ansible.builtin.pip 安装 docker[tls] 来完成。

  • 请注意,Python 的 Docker SDK 只允许为极少数函数指定 Docker 配置的路径。通常,如果没有指定 DOCKER_CONFIG 环境变量,它将使用 $HOME/.docker/config.json,否则将使用 $DOCKER_CONFIG/config.json

  • 此模块使用 Python 的 Docker SDK 与 Docker 守护进程通信。

示例

- name: Set command and arguments
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    command: sleep
    args:
      - "3600"

- name: Set a bind mount
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    mounts:
      - source: /tmp/
        target: /remote_tmp/
        type: bind

- name: Set service labels
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    labels:
      com.example.description: "Accounting webapp"
      com.example.department: "Finance"

- name: Set environment variables
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    env:
      ENVVAR1: envvar1
      ENVVAR2: envvar2
    env_files:
      - envs/common.env
      - envs/apps/web.env

- name: Set fluentd logging
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    logging:
      driver: fluentd
      options:
        fluentd-address: "127.0.0.1:24224"
        fluentd-async-connect: "true"
        tag: myservice

- name: Set restart policies
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    restart_config:
      condition: on-failure
      delay: 5s
      max_attempts: 3
      window: 120s

- name: Set update config
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    update_config:
      parallelism: 2
      delay: 10s
      order: stop-first

- name: Set rollback config
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    update_config:
      failure_action: rollback
    rollback_config:
      parallelism: 2
      delay: 10s
      order: stop-first

- name: Set placement preferences
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine:edge
    placement:
      preferences:
        - spread: node.labels.mylabel
      constraints:
        - node.role == manager
        - engine.labels.operatingsystem == ubuntu 14.04
      replicas_max_per_node: 2

- name: Set configs
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine:edge
    configs:
      - config_name: myconfig_name
        filename: "/tmp/config.txt"

- name: Set networks
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine:edge
    networks:
      - mynetwork

- name: Set networks as a dictionary
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine:edge
    networks:
      - name: "mynetwork"
        aliases:
          - "mynetwork_alias"
        options:
          foo: bar

- name: Set secrets
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine:edge
    secrets:
      - secret_name: mysecret_name
        filename: "/run/secrets/secret.txt"

- name: Start service with healthcheck
  community.docker.docker_swarm_service:
    name: myservice
    image: nginx:1.13
    healthcheck:
      # Check if nginx server is healthy by curl'ing the server.
      # If this fails or timeouts, the healthcheck fails.
      test: ["CMD", "curl", "--fail", "http://nginx.host.com"]
      interval: 1m30s
      timeout: 10s
      retries: 3
      start_period: 30s

- name: Configure service resources
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine:edge
    reservations:
      cpus: 0.25
      memory: 20M
    limits:
      cpus: 0.50
      memory: 50M

- name: Remove service
  community.docker.docker_swarm_service:
    name: myservice
    state: absent

返回值

常见的返回值记录在这里,以下是此模块独有的字段

描述

changes

列表 / 元素=字符串

如果服务已更改,则为已更改的服务属性列表,否则为 []。

返回: 总是

示例: ["container_labels", "replicas"]

rebuilt

boolean

如果服务已重新创建(已删除并创建),则为 True

返回: 总是

示例: true

swarm_service

dictionary

表示服务当前状态的变量字典。与模块参数格式匹配。

请注意,事实不是注册变量的一部分,而是可以直接访问的。

请注意,在 Ansible 2.7.9 之前,返回变量被记录为 ansible_swarm_service,而模块实际上返回了一个名为 ansible_docker_service 的变量。在 Ansible 2.7.9 和 Ansible 2.8.0 中,该变量在代码和文档中都被重命名为 swarm_service。在 Ansible 2.7.x 中,仍然可以使用旧名称 ansible_docker_service

返回: 总是

示例: {"args": ["3600"], "cap_add": null, "cap_drop": ["ALL"], "command": ["sleep"], "configs": null, "constraints": ["node.role == manager", "engine.labels.operatingsystem == ubuntu 14.04"], "container_labels": null, "dns": null, "dns_options": null, "dns_search": null, "endpoint_mode": null, "env": ["ENVVAR1=envvar1", "ENVVAR2=envvar2"], "force_update": null, "groups": null, "healthcheck": {"interval": 90000000000, "retries": 3, "start_period": 30000000000, "test": ["CMD", "curl", "--fail", "http://nginx.host.com"], "timeout": 10000000000}, "healthcheck_disabled": false, "hostname": null, "hosts": null, "image": "alpine:latest@sha256:b3dbf31b77fd99d9c08f780ce6f5282aba076d70a513a8be859d8d3a4d0c92b8", "labels": {"com.example.department": "Finance", "com.example.description": "Accounting webapp"}, "limit_cpu": 0.5, "limit_memory": 52428800, "log_driver": "fluentd", "log_driver_options": {"fluentd-address": "127.0.0.1:24224", "fluentd-async-connect": "true", "tag": "myservice"}, "mode": "replicated", "mounts": [{"driver_config": null, "labels": null, "no_copy": null, "propagation": null, "readonly": false, "source": "/tmp/", "target": "/remote_tmp/", "tmpfs_mode": null, "tmpfs_size": null, "type": "bind"}], "networks": null, "placement_preferences": [{"spread": "node.labels.mylabel"}], "publish": null, "read_only": null, "replicas": 1, "replicas_max_per_node": 1, "reserve_cpu": 0.25, "reserve_memory": 20971520, "restart_policy": "on-failure", "restart_policy_attempts": 3, "restart_policy_delay": 5000000000, "restart_policy_window": 120000000000, "secrets": null, "stop_grace_period": null, "stop_signal": null, "sysctls": null, "tty": null, "update_delay": 10000000000, "update_failure_action": null, "update_max_failure_ratio": null, "update_monitor": null, "update_order": "stop-first", "update_parallelism": 2, "user": null, "working_dir": null}

作者

  • Dario Zanzico (@dariko)

  • Jason Witkowski (@jwitko)

  • Hannes Ljungberg (@hannseman)

  • Piotr Wojciechowski (@wojciechowskipiotr)