Advertisement
darkmist

docker_functions.sh

Dec 31st, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.24 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. DOCKER_APP="docker"
  4. DOCKER_MACHINE_APP="docker-machine"
  5. CUR_DATE=`date`
  6. DEBUG_MSG_PREFIX="[${CUR_DATE}][INFO]"
  7. DOCKER_SCRIPTS_DIR=`cd ${HOME}/.docker-scripts; pwd`
  8.  
  9. function abort()
  10. {
  11.     kill -INT $$
  12. }
  13.  
  14. function usage()
  15. {
  16.     echo "USAGE: $1 $2"
  17. }
  18.  
  19. function check_parameter_docker_machine()
  20. {
  21.     if [ -z "$1" ]; then
  22.         return 1
  23.     fi
  24.  
  25.     DOCKER_MACHINE_NAME="${1}"
  26.  
  27.     return 0
  28. }
  29.  
  30. function check_parameter_docker_container()
  31. {
  32.     if [ -z "$1" ]; then
  33.         return 1
  34.     fi
  35.  
  36.     DOCKER_CONTAINER_NAME="${1}"
  37.  
  38.     return 0
  39. }
  40.  
  41. function check_parameter_docker_image()
  42. {
  43.     if [ -z "$1" ]; then
  44.         return 1
  45.     fi
  46.  
  47.     DOCKER_IMAGE_NAME="${1}"
  48.  
  49.     return 0
  50. }
  51.  
  52. function docker_container_login()
  53. {
  54.     check_parameter_docker_container ${1}
  55.  
  56.     if [ $? -eq 1 ]; then
  57.         usage ${DOCKER_APP} "exec -it <container id/name> bash"
  58.         abort
  59.     fi
  60.  
  61.     ${DOCKER_APP} exec -it ${DOCKER_CONTAINER_NAME} bash
  62. }
  63.  
  64. function docker_container_clean()
  65. {
  66.     echo "${DEBUG_MSG_PREFIX} removing all containers"
  67.     ${DOCKER_APP} rm -f $(${DOCKER_APP} ps -aq)
  68.     echo "${DEBUG_MSG_PREFIX} all containers REMOVED"
  69. }
  70.  
  71. function docker_container_run()
  72. {
  73.     check_parameter_docker_container ${1}
  74.  
  75.     if [ $? -eq 1 ]; then
  76.         usage ${DOCKER_APP} "<container id/name> <image id/name>"
  77.         abort
  78.     fi
  79.  
  80.     check_parameter_docker_image ${2}
  81.  
  82.     if [ $? -eq 1 ]; then
  83.         usage ${DOCKER_APP} "<container id/name> <image id/name>"
  84.         abort
  85.     fi
  86.  
  87.     echo "${DEBUG_MSG_PREFIX} starting a container from ${DOCKER_IMAGE_NAME}"
  88.     ${DOCKER_APP} run --name ${DOCKER_CONTAINER_NAME} -P -d ${DOCKER_IMAGE_NAME}
  89.     echo "${DEBUG_MSG_PREFIX} ${DOCKER_CONTAINER_NAME} started"
  90. }
  91.  
  92. function docker_image_clean()
  93. {
  94.     echo "${DEBUG_MSG_PREFIX} removing all images"
  95.     ${DOCKER_APP} rmi -f "$(${DOCKER_APP} images -aq)"
  96.     echo "${DEBUG_MSG_PREFIX} all images REMOVED"
  97. }
  98.  
  99. function docker_machine_env_set()
  100. {
  101.     check_parameter_docker_machine ${1}
  102.  
  103.     if [ $? -eq 1 ]; then
  104.         usage ${DOCKER_MACHINE_APP} "<machine name>"
  105.         abort
  106.     fi
  107.  
  108.     eval "$(${DOCKER_MACHINE_APP} env "${DOCKER_MACHINE_NAME:-local}")"
  109.     echo "${DEBUG_MSG_PREFIX} environment variables set"
  110. }
  111.  
  112. function docker_machine_env_unset()
  113. {
  114.     eval "$(${DOCKER_MACHINE_APP} env --unset)"
  115.     echo "${DEBUG_MSG_PREFIX} environment variables removed"
  116. }
  117.  
  118. function docker_machine_start()
  119. {
  120.     check_parameter_docker_machine ${1}
  121.  
  122.     if [ $? -eq 1 ]; then
  123.         usage ${DOCKER_MACHINE_APP} "<machine name>"
  124.         abort
  125.     fi
  126.  
  127.     echo "${DEBUG_MSG_PREFIX} starting ${1} ..."
  128.     ${DOCKER_MACHINE_APP} start ${DOCKER_MACHINE_NAME} &>/dev/null
  129.     echo "${DEBUG_MSG_PREFIX} ${DOCKER_MACHINE_NAME} started"
  130.     docker_machine_env_set ${DOCKER_MACHINE_NAME}
  131. }
  132.  
  133. function docker_machine_stop()
  134. {
  135.     check_parameter_docker_machine ${1}
  136.  
  137.     if [ $? -eq 1 ]; then
  138.         usage ${DOCKER_MACHINE_APP} "<machine name>"
  139.         abort
  140.     fi
  141.  
  142.     echo "${DEBUG_MSG_PREFIX} stopping ${DOCKER_MACHINE_NAME} ..."
  143.     ${DOCKER_MACHINE_APP} stop ${DOCKER_MACHINE_NAME} &>/dev/null
  144.     echo "${DEBUG_MSG_PREFIX} ${DOCKER_MACHINE_NAME} stopped"
  145.     docker_machine_env_unset
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement