forked from KlubJagiellonski/Politikon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker_run.sh
executable file
·72 lines (60 loc) · 1.84 KB
/
docker_run.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/env bash
NAME='politikon'
DB_NAME='politikon_db'
PSQL_VER='postgres:latest'
NODE_NAME='politikon_instance'
RUN_AS_DEAMON=false
function pri {
echo " [${1}] $2"
}
# > > DB < <
if ! docker ps -a | grep $DB_NAME >/dev/null; then
pri 'db' "$DB_NAME creating and running"
docker run -d --name $DB_NAME $PSQL_VER
elif ! docker ps -a | grep $DB_NAME | grep Up >/dev/null; then
pri 'db' "existing $DB_NAME starting..."
docker start $DB_NAME
else
pri 'db' "nothing to do - $DB_NAME is running..."
fi
if ! docker ps -a | grep $DB_NAME | grep Up >/dev/null; then
pri '!!' "cannot start $DB_NAME - exiting"
exit 1
fi
# > > BUILD < <
if [[ $1 =~ ^--?build$ ]]; then
val='yes'
elif [[ $1 =~ ^--?no-build$ ]]; then
val='no'
elif [[ $1 =~ '-d' ]]; then
RUN_AS_DEAMON=true
else
pri 'vm' "$NODE_NAME CONTAINER BUILD"
pri ' ' " It should NOT harm your env if it NOT CHANGED"
read -p " Do you want to run it (you should)? [y/N] " val
fi
if [[ $val =~ [yY](es)* ]]; then
docker stop $NODE_NAME
if [[ $1 =~ ^--clean$ ]] || [[ $2 =~ ^--clean$ ]]; then
./docker_rebuild.sh --clean || exit 1
else
./docker_rebuild.sh || exit 1
fi
fi
# > > NODE < <
if ! docker ps -a | grep $NODE_NAME >/dev/null; then
pri 'vm' "$NODE_NAME creating and starting..."
docker run -d --dns 8.8.8.8 --dns 8.8.4.4 -t -v `pwd`:/app -p 2233:22 -p 8000:8000 --name $NODE_NAME --link ${DB_NAME}:postgres $NAME /bin/bash
elif ! docker ps -a | grep $NODE_NAME | grep Up >/dev/null; then
pri 'vm' "existing $NODE_NAME starting..."
docker start $NODE_NAME
fi
if ! $RUN_AS_DEAMON; then
pri 'vm' "getting into $NODE_NAME"
docker exec -it $NODE_NAME bash
else
pri 'vm' "running $NODE_NAME as deamon"
docker exec -dit $NODE_NAME bash
fi
true
echo " tip: after work you could use ./docker_bye.sh"