forked from Cumulocity-IoT/cumulocity-devicemanagement-agent
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstart.sh
38 lines (35 loc) · 1.05 KB
/
start.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
#!/bin/bash
DOCKER_FILE_PATH=docker/Dockerfile
DOCKER_IMAGE_NAME=c8ydm-image
#DOCKER_CONTAINER_NAME=c8ydm
# construct build args from env
function env_build_arg() {
BUILD_ARG_LIST=$(grep -oP '^ARG .*(?==)' "$DOCKER_FILE_PATH" | cut -d' ' -f2-)
BUILD_ARG_ARG=''
for BUILD_ARG in $BUILD_ARG_LIST
do
ENV_BUILD_ARG=$(env | grep ^$BUILD_ARG=)
if [ ! -z "$ENV_BUILD_ARG" ]
then
BUILD_ARG_ARG="$BUILD_ARG_ARG --build-arg $ENV_BUILD_ARG"
fi
done
echo $BUILD_ARG_ARG
}
docker build -t $DOCKER_IMAGE_NAME -f "$DOCKER_FILE_PATH" $(env_build_arg) .
# check interactivity
INTERACTIVITY_ARG='-d'
if [ "${INTERACTIVE:-}" = 1 ]
then
INTERACTIVITY_ARG='-it'
fi
if [ "${USE_CERTS:-}" = 1 ]
then
docker run --env-file use_certs.env \
--rm $INTERACTIVITY_ARG \
-v /var/run/docker.sock:/var/run/docker.sock $DOCKER_IMAGE_NAME
else
docker run --env-file <(env | grep C8YDM) \
--rm $INTERACTIVITY_ARG \
-v /var/run/docker.sock:/var/run/docker.sock $DOCKER_IMAGE_NAME
fi