docker-compose.yml

  1. version: "3.8"
  2. services:
  3. # elasticsearch container
  4. elasticsearch0:
  5. container_name: portal_elasticsearch
  6. hostname: elasticsearch
  7. image: "docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION}"
  8. environment:
  9. - http.host=0.0.0.0
  10. - transport.host=127.0.0.1
  11. - bootstrap.memory_lock=true
  12. - "ES_JAVA_OPTS=-Xms${ES_JVM_HEAP} -Xmx${ES_JVM_HEAP}"
  13. mem_limit: ${ES_MEM_LIMIT}
  14. ulimits:
  15. memlock:
  16. soft: -1
  17. hard: -1
  18. volumes:
  19. - ./config/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/elasticsearch.yml
  20. - esdata0:/usr/share/elasticsearch/data
  21. ports: ["${ELASTIC_PORT}:9200"]
  22. healthcheck:
  23. test: ["CMD", "curl","-s" ,"-f", "-u", "elastic:${ES_PASSWORD}", "http://localhost:9200/_cat/health"]
  24. networks: ['stack']
  25. elasticsearch1:
  26. container_name: core_elasticsearch
  27. hostname: elasticsearch
  28. image: "docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION}"
  29. environment:
  30. - http.host=0.0.0.0
  31. - transport.host=127.0.0.1
  32. - bootstrap.memory_lock=true
  33. - "ES_JAVA_OPTS=-Xms${ES_JVM_HEAP} -Xmx${ES_JVM_HEAP}"
  34. mem_limit: ${ES_MEM_LIMIT}
  35. ulimits:
  36. memlock:
  37. soft: -1
  38. hard: -1
  39. volumes:
  40. - ./config/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/elasticsearch.yml
  41. - esdata1:/usr/share/elasticsearch/data
  42. ports: ["${CORE_ELASTIC_PORT}:9200"]
  43. healthcheck:
  44. test: ["CMD", "curl","-s" ,"-f", "-u", "elastic:${ES_PASSWORD}", "http://localhost:9200/_cat/health"]
  45. networks: ['stack']
  46. elasticsearch2:
  47. container_name: local_elasticsearch
  48. hostname: elasticsearch
  49. image: "docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION}"
  50. environment:
  51. - http.host=0.0.0.0
  52. - transport.host=127.0.0.1
  53. - bootstrap.memory_lock=true
  54. - "ES_JAVA_OPTS=-Xms${ES_JVM_HEAP} -Xmx${ES_JVM_HEAP}"
  55. mem_limit: ${ES_MEM_LIMIT}
  56. ulimits:
  57. memlock:
  58. soft: -1
  59. hard: -1
  60. volumes:
  61. - ./config/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/elasticsearch.yml
  62. - esdata2:/usr/share/elasticsearch/data
  63. ports: ["9210:9200"]
  64. healthcheck:
  65. test: ["CMD", "curl","-s" ,"-f", "-u", "elastic:${ES_PASSWORD}", "http://localhost:9200/_cat/health"]
  66. networks: ['stack']
  67. elasticsearch3:
  68. container_name: income_elasticsearch
  69. hostname: elasticsearch
  70. image: "docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION}"
  71. environment:
  72. - http.host=0.0.0.0
  73. - transport.host=127.0.0.1
  74. - bootstrap.memory_lock=true
  75. - "ES_JAVA_OPTS=-Xms${ES_JVM_HEAP} -Xmx${ES_JVM_HEAP}"
  76. mem_limit: ${ES_MEM_LIMIT}
  77. ulimits:
  78. memlock:
  79. soft: -1
  80. hard: -1
  81. volumes:
  82. - ./config/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/elasticsearch.yml
  83. - esdata3:/usr/share/elasticsearch/data
  84. ports: ["${BIX_ELASTIC_PORT}:9200"]
  85. healthcheck:
  86. test: ["CMD", "curl","-s" ,"-f", "-u", "elastic:${ES_PASSWORD}", "http://localhost:9200/_cat/health"]
  87. networks: ['stack']
  88. kibana:
  89. image: kibana:${KIBANA_VERSION}
  90. container_name: kibana
  91. environment:
  92. - ELASTICSEARCH_HOSTS=http://income_elasticsearch:9200 # connect the es-balance node
  93. - I18N_LOCALE=zh-CN #汉化
  94. - XPACK_GRAPH_ENABLED=true
  95. - TIMELION_ENABLED=true
  96. - XPACK_MONITORING_COLLECTION_ENABLED="true"
  97. ports:
  98. - "${KIBANA_PORT}:5601"
  99. networks: ['stack']
  100. # Mysql container
  101. mysql0:
  102. container_name: local_mqsql
  103. hostname: mysql
  104. image: "mysql:${MYSQL_VERSION}"
  105. build: ./config/mysql
  106. environment:
  107. - "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}"
  108. networks: ['stack']
  109. command: --lower_case_table_names=1
  110. ports: ["${MYSQL_PORT}:3306"]
  111. volumes:
  112. - mysqldata0:/var/lib/mysql/
  113. - .\logs\mysql:/var/log/mysql/
  114. - .\config\mysql\conf-file.cnf:/etc/mysql/conf.d/conf-file.cnf
  115. # 首次创建容器时执行,重置 docker-compose down -v
  116. - .\config\mysql\initdb.sql:/docker-entrypoint-initdb.d/initdb.sql
  117. mysql1:
  118. container_name: income_mqsql
  119. hostname: mysql
  120. image: "mysql:${MYSQL_VERSION}"
  121. build: ./config/mysql
  122. environment:
  123. - "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}"
  124. networks: ['stack']
  125. command: --lower_case_table_names=1
  126. ports: ["${MYSQL_PORT}:3306"]
  127. volumes:
  128. - mysqldata1:/var/lib/mysql/
  129. - .\logs\mysql:/var/log/mysql/
  130. - .\config\mysql\conf-file.cnf:/etc/mysql/conf.d/conf-file.cnf
  131. # 首次创建容器时执行,重置 docker-compose down -v
  132. - .\config\mysql\initdb.sql:/docker-entrypoint-initdb.d/initdb.sql
  133. volumes:
  134. # Mysql data
  135. mysqldata0:
  136. driver: local
  137. mysqldata1:
  138. driver: local
  139. # Es data
  140. esdata0:
  141. driver: local
  142. esdata1:
  143. driver: local
  144. esdata2:
  145. driver: local
  146. esdata3:
  147. driver: local
  148. networks:
  149. stack:
  150. driver: bridge

docker_db_local.txt