@@ -10,37 +10,41 @@ RED='\033[0;31m'
10
10
GREEN=' \033[0;32m'
11
11
NC=' \033[0m' # No Color
12
12
13
- os=$( uname -s)
14
- arch=$( uname -m)
15
13
16
- # Install Docker client
17
- docker_bin_url=" https://test.docker.com/builds/$os /$arch /docker-$DOCKER_VERSION "
18
- echo " ${GREEN} >> Download docker client binary ($DOCKER_VERSION )${NC} "
19
- echo $docker_bin_url
20
- curl --progress-bar -o /usr/local/bin/docker $docker_bin_url
21
- chmod +x /usr/local/bin/docker
14
+ do_install () {
22
15
16
+ os=$( uname -s)
17
+ arch=$( uname -m)
23
18
24
- # Install Docker machine
25
- docker_machine_bin_url=" https://github.com/docker/machine/releases/download/v$DOCKER_MACHINE_VERSION /docker-machine_$( echo $os | tr ' [:upper:]' ' [:lower:]' ) -amd64.zip"
26
- echo " \n${GREEN} >> Download Docker machine ($DOCKER_MACHINE_VERSION )${NC} "
27
- echo $docker_machine_bin_url
28
- curl -L $docker_machine_bin_url > machine.zip && \
29
- unzip machine.zip && \
30
- rm machine.zip && \
31
- mv docker-machine* /usr/local/bin
19
+ # Install Docker client
20
+ docker_bin_url=" https://test.docker.com/builds/$os /$arch /docker-$DOCKER_VERSION "
21
+ echo " ${GREEN} >> Download docker client binary ($DOCKER_VERSION )${NC} "
22
+ echo $docker_bin_url
23
+ curl --progress-bar -o /usr/local/bin/docker $docker_bin_url
24
+ chmod +x /usr/local/bin/docker
32
25
33
26
34
- # Install Docker Compose
35
- docker_compose_bin_url=" https://dl.bintray.com/docker-compose/master/docker-compose-$os -$arch "
36
- echo " \n${GREEN} >> Download Docker compose (Master)${NC} "
37
- echo $docker_compose_bin_url
38
- curl --progress-bar -L $docker_compose_bin_url > /usr/local/bin/docker-compose
39
- chmod +x /usr/local/bin/docker-compose
27
+ # Install Docker machine
28
+ docker_machine_bin_url=" https://github.com/docker/machine/releases/download/v$DOCKER_MACHINE_VERSION /docker-machine_$( echo $os | tr ' [:upper:]' ' [:lower:]' ) -amd64.zip"
29
+ echo " \n${GREEN} >> Download Docker machine ($DOCKER_MACHINE_VERSION )${NC} "
30
+ echo $docker_machine_bin_url
31
+ curl -L $docker_machine_bin_url > machine.zip && \
32
+ unzip machine.zip && \
33
+ rm machine.zip && \
34
+ mv docker-machine* /usr/local/bin
40
35
41
36
42
- read -e -p " Do you want to create a new machine? (y/n) : " create_docker_machine
43
- if [ $create_docker_machine = " y" ]; then
37
+ # Install Docker Compose
38
+ docker_compose_bin_url=" https://dl.bintray.com/docker-compose/master/docker-compose-$os -$arch "
39
+ echo " \n${GREEN} >> Download Docker compose (Master)${NC} "
40
+ echo $docker_compose_bin_url
41
+ curl --progress-bar -L $docker_compose_bin_url > /usr/local/bin/docker-compose
42
+ chmod +x /usr/local/bin/docker-compose
43
+
44
+
45
+ }
46
+
47
+ do_create_machine () {
44
48
# Create a Docker machine on virtualbox
45
49
echo " \n${GREEN} >> Create a dev machine on virtualbox${NC} "
46
50
docker-machine create --driver virtualbox dev
@@ -55,31 +59,52 @@ if [ $create_docker_machine = "y" ];then
55
59
56
60
echo " \n${GREEN} >> Config NFS server on your local machine${NC} "
57
61
nfsexports=$( cat << EOF
58
- # DOCKER-LOCAL-BEGIN
59
- /Users {{IP}} -alldirs -mapall=0:80
60
- # DOCKER-LOCAL-END
61
- EOF)
62
+ # DOCKER-LOCAL-BEGIN
63
+ /Users {{IP}} -alldirs -mapall=0:80
64
+ # DOCKER-LOCAL-END
65
+ EOF)
62
66
nfsexports=$( echo " $nfsexports " | sed -e " s/{{IP}}/$ip /g" )
63
67
echo "$nfsexports " | sudo tee -a /etc/exports
64
68
sudo nfsd restart
65
69
fi
66
70
67
71
echo "\n${GREEN} >> Config NFS client on the dev machine${NC} "
68
72
bootsync=$( cat << EOF
69
- #!/bin/sh
70
- sudo umount /Users
71
- sudo /usr/local/etc/init.d/nfs-client start
72
- sleep 1
73
- sudo mount.nfs {{IP}}:/Users /Users -v -o rw,async,noatime,rsize=32768,wsize=32768,proto=udp,udp,nfsvers=3
74
- EOF)
73
+ #!/bin/sh
74
+ sudo umount /Users
75
+ sudo /usr/local/etc/init.d/nfs-client start
76
+ sleep 1
77
+ sudo mount.nfs {{IP}}:/Users /Users -v -o rw,async,noatime,rsize=32768,wsize=32768,proto=udp,udp,nfsvers=3
78
+ EOF)
75
79
76
80
bootsync=$( echo " $bootsync " | sed -e " s/{{IP}}/$ip /g" )
77
81
78
82
docker-machine ssh dev "echo \"$bootsync \" > /tmp/bootsync.sh"
79
83
docker-machine ssh dev "sudo mv /tmp/bootsync.sh /var/lib/boot2docker/bootsync.sh"
80
84
docker-machine restart dev
81
- eval "$( docker-machine env dev) "
82
- fi
83
85
84
- echo "\n\n${GREEN} Done! You should see infos about docker below :${NC} "
85
- docker info
86
+ echo "\n\n${GREEN} Done! You should see infos about docker below :${NC} "
87
+ docker $( docker-machine config dev) info
88
+ }
89
+
90
+ read -p "Do you want to install docker, docker-machine and docker-compose? (y/n)" answer
91
+ case ${answer: 0: 1} in
92
+ y|Y )
93
+ do_install
94
+ ;;
95
+ * )
96
+ break
97
+ ;;
98
+ esac
99
+
100
+
101
+ read -p "Do you want to create a new machine? (y/n)" answer
102
+ case ${answer: 0: 1} in
103
+ y|Y )
104
+ do_create_machine
105
+ ;;
106
+ * )
107
+ exit
108
+ ;;
109
+ esac
110
+
0 commit comments