docker-services.yml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. version: "3.7"
  2. #docker network create -d overlay --attachable client-net
  3. networks:
  4. client-net:
  5. external: true
  6. volumes:
  7. redis-data:
  8. services:
  9. registrator:
  10. image: marcuslinke/registrator:2017-10-25
  11. # image: gliderlabs/registrator:latest
  12. hostname: "{{.Node.Hostname}}"
  13. deploy:
  14. mode: global
  15. endpoint_mode: dnsrr
  16. update_config:
  17. parallelism: 1
  18. failure_action: rollback
  19. delay: 30s
  20. restart_policy:
  21. condition: any
  22. delay: 5s
  23. window: 120s
  24. networks:
  25. - client-net
  26. volumes:
  27. - /var/run/docker.sock:/tmp/docker.sock
  28. command:
  29. - -cleanup=true
  30. - -internal
  31. - -deregister=always
  32. - -swarm-replicas-aware=false
  33. # - -swarm-manager-servicename=swarm
  34. - -resync=15
  35. - -ttl=15
  36. - -ttl-refresh=10
  37. - -retry-interval=2000
  38. - consul://consul.server:8500
  39. logging:
  40. driver: "json-file"
  41. options:
  42. max-size: "12m"
  43. max-file: "5"
  44. vault:
  45. image: vault:latest
  46. hostname: "{{.Node.Hostname}}"
  47. deploy:
  48. mode: global
  49. endpoint_mode: dnsrr
  50. update_config:
  51. parallelism: 1
  52. failure_action: rollback
  53. delay: 30s
  54. restart_policy:
  55. condition: any
  56. delay: 5s
  57. window: 120s
  58. networks:
  59. - client-net
  60. # ports:
  61. # - target: 8200
  62. # published: 8200
  63. # mode: host
  64. # volumes:
  65. # - ./configs/vault/policies:/vault/policies
  66. # - ./configs/vault/secrets:/vault/secrets
  67. command: server
  68. environment:
  69. - 'VAULT_LOCAL_CONFIG=
  70. {
  71. "backend": {
  72. "consul": {
  73. "address":"consul:8500",
  74. "disable_registration": "true"
  75. }
  76. },
  77. "listener":{
  78. "tcp": {
  79. "address": "0.0.0.0:8200",
  80. "tls_disable": 1
  81. }
  82. },
  83. "disable_mlock": "true"
  84. }'
  85. - SKIP_SETCAP=1
  86. - VAULT_UI=1
  87. - VAULT_ADDR=http://127.0.0.1:8200
  88. - VAULT_CLUSTER_INTERFACE=eth0
  89. - VAULT_API_ADDR=http://vault
  90. # params for registrator
  91. - SERVICE_8200_NAME=vault
  92. - SERVICE_8200_TAGS=production
  93. - SERVICE_8200_CHECK_TCP=true
  94. - SERVICE_8200_CHECK_INTERVAL=15s
  95. - SERVICE_8200_CHECK_TIMEOUT=3s
  96. - SERVICE_CHECK_DEREGISTER_AFTER=1m
  97. logging:
  98. driver: "json-file"
  99. options:
  100. max-size: "12m"
  101. max-file: "5"
  102. redis:
  103. image: redis:alpine
  104. hostname: "{{.Node.Hostname}}"
  105. deploy:
  106. mode: global
  107. endpoint_mode: dnsrr
  108. update_config:
  109. parallelism: 1
  110. failure_action: rollback
  111. delay: 30s
  112. restart_policy:
  113. condition: any
  114. delay: 5s
  115. window: 120s
  116. networks:
  117. - client-net
  118. # ports:
  119. # - target: 6379
  120. # published: 6379
  121. # mode: host
  122. volumes:
  123. - redis-data:/data
  124. labels:
  125. - "SERVICE_NAME=redis"
  126. env_file:
  127. - .env
  128. environment:
  129. # params for registrator
  130. - SERVICE_6379_CHECK_TCP=true
  131. - SERVICE_6379_CHECK_INTERVAL=15s
  132. - SERVICE_6379_CHECK_TIMEOUT=3s
  133. - SERVICE_CHECK_DEREGISTER_AFTER=1m
  134. logging:
  135. driver: "json-file"
  136. options:
  137. max-size: "12m"
  138. max-file: "5"