docker.sh 2.7 KB

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