mirror of https://github.com/docker/cli.git
414 lines
8.2 KiB
Plaintext
414 lines
8.2 KiB
Plaintext
|
version: "3.10"
|
||
|
services:
|
||
|
foo:
|
||
|
build:
|
||
|
context: ./dir
|
||
|
dockerfile: Dockerfile
|
||
|
args:
|
||
|
foo: bar
|
||
|
labels:
|
||
|
FOO: BAR
|
||
|
cache_from:
|
||
|
- foo
|
||
|
- bar
|
||
|
extra_hosts:
|
||
|
- ipv4.example.com:127.0.0.1
|
||
|
- ipv6.example.com:::1
|
||
|
network: foo
|
||
|
target: foo
|
||
|
cap_add:
|
||
|
- ALL
|
||
|
cap_drop:
|
||
|
- NET_ADMIN
|
||
|
- SYS_ADMIN
|
||
|
cgroup_parent: m-executor-abcd
|
||
|
command:
|
||
|
- bundle
|
||
|
- exec
|
||
|
- thin
|
||
|
- -p
|
||
|
- "3000"
|
||
|
configs:
|
||
|
- source: config1
|
||
|
- source: config2
|
||
|
target: /my_config
|
||
|
uid: "103"
|
||
|
gid: "103"
|
||
|
mode: 288
|
||
|
container_name: my-web-container
|
||
|
depends_on:
|
||
|
- db
|
||
|
- redis
|
||
|
deploy:
|
||
|
mode: replicated
|
||
|
replicas: 6
|
||
|
labels:
|
||
|
FOO: BAR
|
||
|
update_config:
|
||
|
parallelism: 3
|
||
|
delay: 10s
|
||
|
failure_action: continue
|
||
|
monitor: 1m0s
|
||
|
max_failure_ratio: 0.3
|
||
|
order: start-first
|
||
|
rollback_config:
|
||
|
parallelism: 3
|
||
|
delay: 10s
|
||
|
failure_action: continue
|
||
|
monitor: 1m0s
|
||
|
max_failure_ratio: 0.3
|
||
|
order: start-first
|
||
|
resources:
|
||
|
limits:
|
||
|
cpus: "0.001"
|
||
|
memory: "52428800"
|
||
|
pids: 100
|
||
|
reservations:
|
||
|
cpus: "0.0001"
|
||
|
memory: "20971520"
|
||
|
generic_resources:
|
||
|
- discrete_resource_spec:
|
||
|
kind: gpu
|
||
|
value: 2
|
||
|
- discrete_resource_spec:
|
||
|
kind: ssd
|
||
|
value: 1
|
||
|
restart_policy:
|
||
|
condition: on-failure
|
||
|
delay: 5s
|
||
|
max_attempts: 3
|
||
|
window: 2m0s
|
||
|
placement:
|
||
|
constraints:
|
||
|
- node=foo
|
||
|
preferences:
|
||
|
- spread: node.labels.az
|
||
|
max_replicas_per_node: 5
|
||
|
endpoint_mode: dnsrr
|
||
|
devices:
|
||
|
- /dev/ttyUSB0:/dev/ttyUSB0
|
||
|
dns:
|
||
|
- 8.8.8.8
|
||
|
- 9.9.9.9
|
||
|
dns_search:
|
||
|
- dc1.example.com
|
||
|
- dc2.example.com
|
||
|
domainname: foo.com
|
||
|
entrypoint:
|
||
|
- /code/entrypoint.sh
|
||
|
- -p
|
||
|
- "3000"
|
||
|
environment:
|
||
|
BAR: bar_from_env_file_2
|
||
|
BAZ: baz_from_service_def
|
||
|
FOO: foo_from_env_file
|
||
|
QUX: qux_from_environment
|
||
|
env_file:
|
||
|
- ./example1.env
|
||
|
- ./example2.env
|
||
|
expose:
|
||
|
- "3000"
|
||
|
- "8000"
|
||
|
external_links:
|
||
|
- redis_1
|
||
|
- project_db_1:mysql
|
||
|
- project_db_1:postgresql
|
||
|
extra_hosts:
|
||
|
- somehost:162.242.195.82
|
||
|
- otherhost:50.31.209.229
|
||
|
- host.docker.internal:host-gateway
|
||
|
hostname: foo
|
||
|
healthcheck:
|
||
|
test:
|
||
|
- CMD-SHELL
|
||
|
- echo "hello world"
|
||
|
timeout: 1s
|
||
|
interval: 10s
|
||
|
retries: 5
|
||
|
start_period: 15s
|
||
|
image: redis
|
||
|
ipc: host
|
||
|
labels:
|
||
|
com.example.description: Accounting webapp
|
||
|
com.example.empty-label: ""
|
||
|
com.example.number: "42"
|
||
|
links:
|
||
|
- db
|
||
|
- db:database
|
||
|
- redis
|
||
|
logging:
|
||
|
driver: syslog
|
||
|
options:
|
||
|
syslog-address: tcp://192.168.0.42:123
|
||
|
mac_address: 02:42:ac:11:65:43
|
||
|
network_mode: container:0cfeab0f748b9a743dc3da582046357c6ef497631c1a016d28d2bf9b4f899f7b
|
||
|
networks:
|
||
|
other-network:
|
||
|
ipv4_address: 172.16.238.10
|
||
|
ipv6_address: 2001:3984:3989::10
|
||
|
other-other-network: null
|
||
|
some-network:
|
||
|
aliases:
|
||
|
- alias1
|
||
|
- alias3
|
||
|
pid: host
|
||
|
ports:
|
||
|
- mode: ingress
|
||
|
target: 3000
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 3001
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 3002
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 3003
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 3004
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 3005
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 8000
|
||
|
published: 8000
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 8080
|
||
|
published: 9090
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 8081
|
||
|
published: 9091
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 22
|
||
|
published: 49100
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 8001
|
||
|
published: 8001
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 5000
|
||
|
published: 5000
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 5001
|
||
|
published: 5001
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 5002
|
||
|
published: 5002
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 5003
|
||
|
published: 5003
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 5004
|
||
|
published: 5004
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 5005
|
||
|
published: 5005
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 5006
|
||
|
published: 5006
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 5007
|
||
|
published: 5007
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 5008
|
||
|
published: 5008
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 5009
|
||
|
published: 5009
|
||
|
protocol: tcp
|
||
|
- mode: ingress
|
||
|
target: 5010
|
||
|
published: 5010
|
||
|
protocol: tcp
|
||
|
privileged: true
|
||
|
read_only: true
|
||
|
restart: always
|
||
|
secrets:
|
||
|
- source: secret1
|
||
|
- source: secret2
|
||
|
target: my_secret
|
||
|
uid: "103"
|
||
|
gid: "103"
|
||
|
mode: 288
|
||
|
security_opt:
|
||
|
- label=level:s0:c100,c200
|
||
|
- label=type:svirt_apache_t
|
||
|
stdin_open: true
|
||
|
stop_grace_period: 20s
|
||
|
stop_signal: SIGUSR1
|
||
|
sysctls:
|
||
|
net.core.somaxconn: "1024"
|
||
|
net.ipv4.tcp_syncookies: "0"
|
||
|
tmpfs:
|
||
|
- /run
|
||
|
- /tmp
|
||
|
tty: true
|
||
|
ulimits:
|
||
|
nofile:
|
||
|
soft: 20000
|
||
|
hard: 40000
|
||
|
nproc: 65535
|
||
|
user: someone
|
||
|
volumes:
|
||
|
- type: volume
|
||
|
target: /var/lib/mysql
|
||
|
- type: bind
|
||
|
source: /opt/data
|
||
|
target: /var/lib/mysql
|
||
|
- type: bind
|
||
|
source: /foo
|
||
|
target: /code
|
||
|
- type: bind
|
||
|
source: /foo/static
|
||
|
target: /var/www/html
|
||
|
- type: bind
|
||
|
source: /bar/configs
|
||
|
target: /etc/configs/
|
||
|
read_only: true
|
||
|
- type: volume
|
||
|
source: datavolume
|
||
|
target: /var/lib/mysql
|
||
|
- type: bind
|
||
|
source: /foo/opt
|
||
|
target: /opt
|
||
|
consistency: cached
|
||
|
- type: tmpfs
|
||
|
target: /opt
|
||
|
tmpfs:
|
||
|
size: 10000
|
||
|
- type: cluster
|
||
|
source: group:mygroup
|
||
|
target: /srv
|
||
|
working_dir: /code
|
||
|
x-bar: baz
|
||
|
x-foo: bar
|
||
|
networks:
|
||
|
external-network:
|
||
|
name: external-network
|
||
|
external: true
|
||
|
other-external-network:
|
||
|
name: my-cool-network
|
||
|
external: true
|
||
|
x-bar: baz
|
||
|
x-foo: bar
|
||
|
other-network:
|
||
|
driver: overlay
|
||
|
driver_opts:
|
||
|
baz: "1"
|
||
|
foo: bar
|
||
|
ipam:
|
||
|
driver: overlay
|
||
|
config:
|
||
|
- subnet: 172.16.238.0/24
|
||
|
- subnet: 2001:3984:3989::/64
|
||
|
labels:
|
||
|
foo: bar
|
||
|
some-network: {}
|
||
|
volumes:
|
||
|
another-volume:
|
||
|
name: user_specified_name
|
||
|
driver: vsphere
|
||
|
driver_opts:
|
||
|
baz: "1"
|
||
|
foo: bar
|
||
|
cluster-volume:
|
||
|
driver: my-csi-driver
|
||
|
x-cluster-spec:
|
||
|
group: mygroup
|
||
|
access_mode:
|
||
|
scope: single
|
||
|
sharing: none
|
||
|
block_volume: {}
|
||
|
accessibility_requirements:
|
||
|
requisite:
|
||
|
- segments:
|
||
|
region: R1
|
||
|
zone: Z1
|
||
|
- segments:
|
||
|
region: R1
|
||
|
zone: Z2
|
||
|
preferred:
|
||
|
- segments:
|
||
|
region: R1
|
||
|
zone: Z1
|
||
|
capacity_range:
|
||
|
required_bytes: "1073741824"
|
||
|
limit_bytes: "8589934592"
|
||
|
secrets:
|
||
|
- key: mycsisecret
|
||
|
secret: secret1
|
||
|
- key: mycsisecret2
|
||
|
secret: secret4
|
||
|
availability: active
|
||
|
external-volume:
|
||
|
name: external-volume
|
||
|
external: true
|
||
|
external-volume3:
|
||
|
name: this-is-volume3
|
||
|
external: true
|
||
|
x-bar: baz
|
||
|
x-foo: bar
|
||
|
other-external-volume:
|
||
|
name: my-cool-volume
|
||
|
external: true
|
||
|
other-volume:
|
||
|
driver: flocker
|
||
|
driver_opts:
|
||
|
baz: "1"
|
||
|
foo: bar
|
||
|
labels:
|
||
|
foo: bar
|
||
|
some-volume: {}
|
||
|
secrets:
|
||
|
secret1:
|
||
|
file: /foo/secret_data
|
||
|
labels:
|
||
|
foo: bar
|
||
|
secret2:
|
||
|
name: my_secret
|
||
|
external: true
|
||
|
secret3:
|
||
|
name: secret3
|
||
|
external: true
|
||
|
secret4:
|
||
|
name: bar
|
||
|
file: /foo
|
||
|
x-bar: baz
|
||
|
x-foo: bar
|
||
|
configs:
|
||
|
config1:
|
||
|
file: /foo/config_data
|
||
|
labels:
|
||
|
foo: bar
|
||
|
config2:
|
||
|
name: my_config
|
||
|
external: true
|
||
|
config3:
|
||
|
name: config3
|
||
|
external: true
|
||
|
config4:
|
||
|
name: foo
|
||
|
file: /foo
|
||
|
x-bar: baz
|
||
|
x-foo: bar
|
||
|
x-bar: baz
|
||
|
x-foo: bar
|
||
|
x-nested:
|
||
|
bar: baz
|
||
|
foo: bar
|