docker-compose.yml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. # docker swarm init, then you have to do // note version_mpinet is the name of the overlay
  2. # docker network create --driver=overlay --attachable yml_mpinet
  3. # Dec, 09, 2025 - Jean-Michel Batto
  4. services:
  5. mysql:
  6. image: mariadb:10.10
  7. hostname: mysql
  8. container_name: mysql
  9. environment:
  10. MARIADB_ROOT_PASSWORD: password
  11. MARIADB_DATABASE: slurm_acct_db
  12. MARIADB_USER: slurm
  13. MARIADB_PASSWORD: password
  14. volumes:
  15. - var_lib_mysql:/var/lib/mysql
  16. ports:
  17. - "3306:3306"
  18. networks:
  19. - mpinet
  20. slurmdbd:
  21. image: jmbatto/m2chps-mpi41-slurm:latest
  22. container_name: slurmdbd
  23. hostname: slurmdbd
  24. volumes:
  25. - /var/run/docker.sock:/var/run/docker.sock
  26. - etc_munge:/etc/munge
  27. # - etc_slurm:/etc/slurm
  28. - var_log_slurm:/var/log/slurm
  29. environment:
  30. - SLURMPARAM=slurmdbd
  31. expose:
  32. - "6819"
  33. healthcheck:
  34. test: ["CMD-SHELL", "netstat -tuln | grep 6819 || /bin/bash -c 'echo \"/usr/sbin/slurmdbd -Dvvv\" | grep slurmdbd'"]
  35. interval: 10s
  36. timeout: 5s
  37. retries: 10
  38. start_period: 20s
  39. depends_on:
  40. - mysql
  41. shm_size: "512m"
  42. secrets:
  43. - source: "id_rsa"
  44. target: "/home/mpiuser/.ssh-source/id_rsa"
  45. - source: "id_rsa_mpi_pub"
  46. target: "/home/mpiuser/.ssh-source/id_rsa.pub"
  47. - source: "authorized_keys"
  48. target: "/home/mpiuser/.ssh-source/authorized_keys"
  49. networks:
  50. - mpinet
  51. slurmctld:
  52. image: jmbatto/m2chps-mpi41-slurm:latest
  53. container_name: slurmctld
  54. hostname: slurmctld
  55. volumes:
  56. - /var/run/docker.sock:/var/run/docker.sock
  57. - etc_munge:/etc/munge
  58. # - etc_slurm:/etc/slurm
  59. - slurm_jobdir:/data
  60. - var_log_slurm:/var/log/slurm
  61. - usrlocalvarmpi-foo:/usr/local/var/mpishare
  62. environment:
  63. - SLURMPARAM=slurmctld
  64. expose:
  65. - "6817"
  66. depends_on:
  67. slurmdbd:
  68. condition: service_healthy
  69. shm_size: "512m"
  70. secrets:
  71. - source: "id_rsa"
  72. target: "/home/mpiuser/.ssh-source/id_rsa"
  73. - source: "id_rsa_mpi_pub"
  74. target: "/home/mpiuser/.ssh-source/id_rsa.pub"
  75. - source: "authorized_keys"
  76. target: "/home/mpiuser/.ssh-source/authorized_keys"
  77. networks:
  78. - mpinet
  79. c1:
  80. image: jmbatto/m2chps-mpi41-slurm:latest
  81. hostname: c1
  82. container_name: c1
  83. volumes:
  84. - /var/run/docker.sock:/var/run/docker.sock
  85. - etc_munge:/etc/munge
  86. # - etc_slurm:/etc/slurm
  87. - slurm_jobdir:/data
  88. - var_log_slurm:/var/log/slurm
  89. - usrlocalvarmpi-foo:/usr/local/var/mpishare
  90. environment:
  91. - SLURMPARAM=slurmd
  92. expose:
  93. - "6818"
  94. depends_on:
  95. - "slurmctld"
  96. shm_size: "512m"
  97. secrets:
  98. - source: "id_rsa"
  99. target: "/home/mpiuser/.ssh-source/id_rsa"
  100. - source: "id_rsa_mpi_pub"
  101. target: "/home/mpiuser/.ssh-source/id_rsa.pub"
  102. - source: "authorized_keys"
  103. target: "/home/mpiuser/.ssh-source/authorized_keys"
  104. networks:
  105. - mpinet
  106. c2:
  107. image: jmbatto/m2chps-mpi41-slurm:latest
  108. hostname: c2
  109. container_name: c2
  110. volumes:
  111. - /var/run/docker.sock:/var/run/docker.sock
  112. - etc_munge:/etc/munge
  113. # - etc_slurm:/etc/slurm
  114. - slurm_jobdir:/data
  115. - var_log_slurm:/var/log/slurm
  116. - usrlocalvarmpi-foo:/usr/local/var/mpishare
  117. environment:
  118. - SLURMPARAM=slurmd
  119. expose:
  120. - "6818"
  121. depends_on:
  122. - "slurmctld"
  123. shm_size: "512m"
  124. networks:
  125. - mpinet
  126. secrets:
  127. - source: "id_rsa"
  128. target: "/home/mpiuser/.ssh-source/id_rsa"
  129. - source: "id_rsa_mpi_pub"
  130. target: "/home/mpiuser/.ssh-source/id_rsa.pub"
  131. - source: "authorized_keys"
  132. target: "/home/mpiuser/.ssh-source/authorized_keys"
  133. secrets:
  134. id_rsa_mpi_pub:
  135. file: ssh/id_rsa.mpi.pub
  136. id_rsa:
  137. file: ssh/id_rsa.mpi
  138. authorized_keys:
  139. file: ssh/id_rsa.mpi.pub
  140. networks:
  141. mpinet:
  142. external: true
  143. name: yml_mpinet
  144. driver: overlay
  145. volumes:
  146. etc_munge:
  147. # etc_slurm:
  148. slurm_jobdir:
  149. var_lib_mysql:
  150. var_log_slurm:
  151. usrlocalvarmpi-foo: