-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdcompose.sh
executable file
·64 lines (54 loc) · 1.54 KB
/
dcompose.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
#!/usr/bin/env bash
# Creating Network If Not Exist
create_network_not_exist()
{
n=`docker network ls | grep ${NETWORK_NAME} | wc -l`
if [[ ${n} -eq 0 ]]
then
docker network create ${NETWORK_NAME}
docker network ls
fi
}
# Deleting Network If Exist
delete_network_exist()
{
n=`docker network ls | grep ${NETWORK_NAME} | wc -l`
if [[ ${n} -eq 1 ]]
then
docker network rm ${NETWORK_NAME}
fi
}
if [[ ! ($# -ge 3 && $# -le 4) ]]
then
echo "Usage: $0 <build|up|down> <docker_compose_file> <project_name> <app_env_shell(optional)>"
exit
fi
COMMAND=$1
DOCKER_COMPOSE_FILE=$2
PROJECT_NAME=$3
APP_ENV_SHELL=$4
# Loading common environment variables for app and platform
. ./common_env.sh
# Loading app environment variables
if [[ ! -z ${APP_ENV_SHELL} ]]
then
. ./${APP_ENV_SHELL}
fi
case ${COMMAND} in
build)
create_network_not_exist
docker-compose -f ${DOCKER_COMPOSE_FILE} -p ${PROJECT_NAME} build;;
up)
create_network_not_exist
docker-compose -f ${DOCKER_COMPOSE_FILE} -p ${PROJECT_NAME} up;;
down)
docker-compose -f ${DOCKER_COMPOSE_FILE} -p ${PROJECT_NAME} stop
docker-compose -f ${DOCKER_COMPOSE_FILE} -p ${PROJECT_NAME} down
docker-compose -f ${DOCKER_COMPOSE_FILE} -p ${PROJECT_NAME} rm
delete_network_exist
;;
ps)
docker-compose -f ${DOCKER_COMPOSE_FILE} -p ${PROJECT_NAME} ps;;
*)
echo "Usage: $0 <build|up|down> <docker_compose_file> <project_name> <app_env_shell(optional)>";;
esac