docker 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. #!/bin/sh
  2. #
  3. # /etc/rc.d/init.d/docker
  4. #
  5. # Daemon for docker.io
  6. #
  7. # chkconfig: 2345 95 95
  8. # description: Daemon for docker.io
  9. ### BEGIN INIT INFO
  10. # Provides: docker
  11. # Required-Start: $network cgconfig
  12. # Required-Stop:
  13. # Should-Start:
  14. # Should-Stop:
  15. # Default-Start: 2 3 4 5
  16. # Default-Stop: 0 1 6
  17. # Short-Description: start and stop docker
  18. # Description: Daemon for docker.io
  19. ### END INIT INFO
  20. # Source function library.
  21. . /etc/rc.d/init.d/functions
  22. prog="docker"
  23. exec="/usr/bin/$prog"
  24. pidfile="/var/run/$prog.pid"
  25. lockfile="/var/lock/subsys/$prog"
  26. logfile="/var/log/$prog"
  27. [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
  28. prestart() {
  29. service cgconfig status > /dev/null
  30. if [[ $? != 0 ]]; then
  31. service cgconfig start
  32. fi
  33. }
  34. start() {
  35. [ -x $exec ] || exit 5
  36. if ! [ -f $pidfile ]; then
  37. prestart
  38. printf "Starting $prog:\t"
  39. echo "\n$(date)\n" >> $logfile
  40. $exec -d $other_args &>> $logfile &
  41. pid=$!
  42. touch $lockfile
  43. success
  44. echo
  45. else
  46. failure
  47. echo
  48. printf "$pidfile still exists...\n"
  49. exit 7
  50. fi
  51. }
  52. stop() {
  53. echo -n $"Stopping $prog: "
  54. killproc -p $pidfile $prog
  55. retval=$?
  56. echo
  57. [ $retval -eq 0 ] && rm -f $lockfile
  58. return $retval
  59. }
  60. restart() {
  61. stop
  62. start
  63. }
  64. reload() {
  65. restart
  66. }
  67. force_reload() {
  68. restart
  69. }
  70. rh_status() {
  71. status -p $pidfile $prog
  72. }
  73. rh_status_q() {
  74. rh_status >/dev/null 2>&1
  75. }
  76. case "$1" in
  77. start)
  78. rh_status_q && exit 0
  79. $1
  80. ;;
  81. stop)
  82. rh_status_q || exit 0
  83. $1
  84. ;;
  85. restart)
  86. $1
  87. ;;
  88. reload)
  89. rh_status_q || exit 7
  90. $1
  91. ;;
  92. force-reload)
  93. force_reload
  94. ;;
  95. status)
  96. rh_status
  97. ;;
  98. condrestart|try-restart)
  99. rh_status_q || exit 0
  100. restart
  101. ;;
  102. *)
  103. echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
  104. exit 2
  105. esac
  106. exit $?