Guest User

Untitled

a guest
Jun 21st, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. DOCKER_PATH=$(which docker)
  4.  
  5. # PORT Number Definition
  6. # ----------------------------------------------
  7.  
  8. # system ports
  9. PORT_JENKINS="9110"
  10. PORT_PORTAINER="9120"
  11. PORT_REGISTRY="5000"
  12.  
  13. echo "docker path is : $DOCKER_PATH \n"
  14. echo "jenkins port : $PORT_JENKINS \n"
  15. echo "portainer port : $PORT_PORTAINER \n"
  16. echo "registry port : $PORT_REGISTRY \n"
  17.  
  18. # PORT Number Definition END!
  19. # ----------------------------------------------
  20.  
  21.  
  22. # create Network
  23. if [ -z "$(docker network ls -q -f name=main)" ]; then
  24. echo "\n \n create network main \n"
  25. docker network create --driver overlay main
  26. fi
  27.  
  28.  
  29. # create Volumes
  30. # ----------------------------------------------
  31.  
  32. # portainer_data
  33. if [ -z "$(docker volume ls -q -f name=portainer_data)" ]; then
  34. echo "\n \n create volume portainer_data \n"
  35. docker volume create portainer_data
  36. fi
  37.  
  38. # jenkins_data
  39. if [ -z "$(docker volume ls -q -f name=jenkins_data)" ]; then
  40. echo "\n \n create volume jenkins_data \n"
  41. docker volume create jenkins_data
  42. fi
  43.  
  44. # registry_data
  45. if [ -z "$(docker volume ls -q -f name=registry_data)" ]; then
  46. echo "\n \n create volume registry_data \n"
  47. docker volume create registry_data
  48. fi
  49.  
  50. # create Volumes END!
  51. # ----------------------------------------------
  52.  
  53. # create services
  54. # ----------------------------------------------
  55.  
  56. # portainer
  57. if [ -n "$(docker service ls -q -f name=portainer)" ]; then
  58. echo "\n \n update portainer service.\n"
  59. docker service rm portainer
  60. fi
  61. echo "\n \n create service portainer \n"
  62. docker service create --name portainer --publish "$PORT_PORTAINER":9000 --replicas=1 --constraint 'node.role == manager' --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock --mount type=volume,src=portainer_data,dst=/data portainer/portainer -H unix:///var/run/docker.sock
  63.  
  64.  
  65. # registry
  66. if [ -n "$(docker service ls -q -f name=registry)" ]; then
  67. echo "\n \n update registry service. \n"
  68. docker service rm registry
  69. fi
  70. echo "\n \n create service registry \n"
  71. docker service create --name registry --network main --mount type=volume,src=registry_data,dst=/var/lib/registry --publish "$PORT_REGISTRY":5000 registry:2
  72.  
  73.  
  74. # Jenkins
  75. if [ -n "$(docker service ls -q -f name=jenkins)" ]; then
  76. echo "\n \n remove jenkins service.\n"
  77. docker service rm jenkins
  78. fi
  79. echo "\n \n create service jenkins \n"
  80. docker service create --name jenkins --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock --mount type=bind,src="$DOCKER_PATH",dst=/usr/bin/docker --mount type=volume,src=jenkins_data,dst=/var/jenkins_home --mount type=bind,src=/usr/lib/x86_64-linux-gnu/libltdl.so.7,dst=/usr/lib/libltdl.so.7 --publish "$PORT_JENKINS":8080 --publish 50000:50000 --name jenkins sunnystatue/docker_in_jenkins
  81.  
  82.  
  83. # create services END!
  84. # ----------------------------------------------
Add Comment
Please, Sign In to add comment