docker.sh 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #!/usr/bin/env bash
  2. if [ $# -eq 0 ]
  3. then
  4. echo "Usage:"
  5. echo
  6. echo " `basename $0` (b | build) Build or rebuild"
  7. echo " `basename $0` (u | up) Create and start"
  8. echo " `basename $0` (U | upbuild) Create and start (force build)"
  9. echo " `basename $0` (d | down) Stop and remove"
  10. echo " `basename $0` (s | start) Start"
  11. echo " `basename $0` (r | restart) Restart"
  12. echo " `basename $0` (h | stop) Stop (halt)"
  13. echo " `basename $0` ps List"
  14. echo " `basename $0` rm Remove"
  15. echo " `basename $0` stats Show statistics"
  16. echo
  17. echo " `basename $0` (l | log) Show log tail (last 100 lines)"
  18. echo " `basename $0` (e | exec) <command> Execute command"
  19. echo " `basename $0` (a | attach) Attach to container with shell"
  20. echo
  21. echo " `basename $0` prune Remove all unused containers, networks and images"
  22. echo " `basename $0` stopall Stop all running containers (system-wide!)"
  23. echo " `basename $0` killall Kill all running containers (system-wide!)"
  24. echo
  25. echo "Arguments:"
  26. echo
  27. echo " command Command to be executed inside a container"
  28. exit
  29. fi
  30. cmd=$1
  31. cmd_args=${@:2}
  32. case $cmd in
  33. b | build)
  34. docker compose build $cmd_args
  35. ;;
  36. u | up)
  37. docker compose up -d $cmd_args
  38. ;;
  39. U | buildup | upbuild | upb | bup | ub)
  40. docker compose up -d --build $cmd_args
  41. ;;
  42. d | down)
  43. docker compose down $cmd_args
  44. ;;
  45. s | start)
  46. docker compose start $cmd_args
  47. ;;
  48. r | restart)
  49. docker compose restart $cmd_args
  50. ;;
  51. h | stop)
  52. docker compose stop $cmd_args
  53. ;;
  54. rm)
  55. docker compose rm $cmd_args
  56. ;;
  57. ps)
  58. docker compose ps $cmd_args
  59. ;;
  60. stat | stats)
  61. docker stats $cmd_args
  62. ;;
  63. l | log | logs)
  64. docker compose logs -f --tail 100 $cmd_args app
  65. ;;
  66. e | exec)
  67. docker compose exec $cmd_args app
  68. ;;
  69. a | attach)
  70. docker compose exec $cmd_args app /bin/bash
  71. ;;
  72. prune)
  73. docker system prune
  74. ;;
  75. stopall)
  76. docker stop $(docker ps -aq)
  77. ;;
  78. killall)
  79. docker kill $(docker ps -aq)
  80. ;;
  81. *)
  82. echo "Unsupported command \"$cmd\""
  83. exit 1
  84. esac