docker.sh 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. #!/bin/bash
  2. function do_run() {
  3. echo "-- run --"
  4. if [ ! -n "$p2" ]; then
  5. echo "profile name error."
  6. echo " Usage: ./docker.sh run [profile name] [service name]"
  7. return
  8. fi
  9. if [ ! -n "$p3" ]; then
  10. echo "no service name specified. run all services"
  11. return
  12. fi
  13. echo "run [profile name = $p2, service name = $p3]"
  14. # 属性必要的
  15. if [ "$p3" = "nats" ]; then
  16. docker-compose -f $p2.yaml up -d nats
  17. docker-compose -f $p2.yaml up -d nats-1
  18. docker-compose -f $p2.yaml up -d nats-2
  19. return
  20. fi
  21. if [ "$p3" = "f1" ]; then
  22. docker-compose -f $p2.yaml up -d f1-master-1
  23. docker-compose -f $p2.yaml up -d f1-center-1
  24. docker-compose -f $p2.yaml up -d f1-record-1
  25. docker-compose -f $p2.yaml up -d f1-chat-1
  26. docker-compose -f $p2.yaml up -d f1-map-1
  27. docker-compose -f $p2.yaml up -d f1-game-1
  28. docker-compose -f $p2.yaml up -d f1-ops-1
  29. docker-compose -f $p2.yaml up -d f1-web-1
  30. docker-compose -f $p2.yaml up -d f1-gate-1
  31. return
  32. fi
  33. docker-compose -f $p2.yaml up -d $p3
  34. }
  35. function do_stop() {
  36. echo "-- stop --"
  37. if [ ! -n "$p2" ]; then
  38. echo "profile name error."
  39. echo " Usage: ./docker.sh stop [profile name] [service name]"
  40. return
  41. fi
  42. if [ ! -n "$p3" ]; then
  43. echo "no service name specified. stop all services."
  44. return
  45. fi
  46. if [ "$p3" = "nats" ]; then
  47. docker-compose -f $p2.yaml down nats-2
  48. docker-compose -f $p2.yaml down nats-1
  49. docker-compose -f $p2.yaml down nats
  50. return
  51. fi
  52. if [ "$p3" = "f1" ]; then
  53. docker-compose -f $p2.yaml down f1-gate-1
  54. docker-compose -f $p2.yaml down f1-web-1
  55. docker-compose -f $p2.yaml down f1-ops-1
  56. docker-compose -f $p2.yaml down f1-game-1
  57. docker-compose -f $p2.yaml down f1-map-1
  58. docker-compose -f $p2.yaml down f1-chat-1
  59. docker-compose -f $p2.yaml down f1-record-1
  60. docker-compose -f $p2.yaml down f1-center-1
  61. docker-compose -f $p2.yaml down f1-master-1
  62. return
  63. fi
  64. docker-compose -f $p2.yaml down $p3
  65. }
  66. echo "----------------DOCKER CLI------------------"
  67. p2=$2
  68. p3=$3
  69. case $1 in
  70. run)
  71. do_run
  72. ;;
  73. stop)
  74. do_stop
  75. ;;
  76. restart)
  77. do_stop
  78. do_run
  79. ;;
  80. *)
  81. echo "NETWORK:"
  82. echo "docker network create --driver=bridge --subnet=10.10.10.0/24 f1"
  83. echo "docker network rm f1"
  84. echo "docker network ls"
  85. echo "docker network inspect f1"
  86. echo ""
  87. echo ""
  88. echo "COMMAND:"
  89. echo ""
  90. echo " ./docker.sh run [docker file | db.yaml | dev.yaml] [service name | mongodb | redis | nats | f1]"
  91. echo " ./docker.sh stop [docker file | db.yaml | dev.yaml] [service name | mongodb | redis | nats | f1]"
  92. echo " ./docker.sh restart [docker file | db.yaml | dev.yaml] [service name | mongodb | redis | nats | f1]"
  93. echo ""
  94. echo "eg."
  95. echo "db.yaml:"
  96. echo " [step 1] ./docker.sh run db mongodb"
  97. echo " [step 2] ./docker.sh run db redis"
  98. echo " [step 3] ./docker.sh run db nats"
  99. echo ""
  100. echo "eg."
  101. echo "dev.yaml:"
  102. echo " [step 4] ./docker.sh run [dev | test] f1"
  103. echo ""
  104. ;;
  105. esac
  106. echo "----------------NODE CLI------------------"