Skip to content

Instantly share code, notes, and snippets.

@perfecto25
Created March 27, 2018 20:28
Show Gist options
  • Save perfecto25/92f870e661e6a25ae743b0c20a2ffda2 to your computer and use it in GitHub Desktop.
Save perfecto25/92f870e661e6a25ae743b0c20a2ffda2 to your computer and use it in GitHub Desktop.
Docker Build with Splunk logging
#!/bin/bash
# Jira Maestro Docker Build
set -x
APP_ENV="dev"
PORT=5810
IMAGE_VER=$APP_ENV-$(date '+%Y%m%d%H%M%S')
TAG="artifactory.local/jira-maestro"
DEV_HOSTNAME='mrxdev1.vagrant.local'
DEV_IP='14.115.20.166'
# cleanup previous container
docker stop jira-maestro
# remove stopped containers
docker rm -v $(docker ps -aq -f status=exited)
docker rm jira-maestro
# clean up previous images
img_id=$(docker images --format="{{.ID}}" $TAG)
[[ $img_id ]] && docker rmi -f $img_id
# remove dangling images
docker rmi $(docker images -f dangling=true -q)
# build image
docker build --build-arg appenv=$APP_ENV --build-arg port=$PORT -t "${TAG}" --no-cache=false .
# update tag
docker tag $TAG:latest $TAG:$IMAGE_VER
docker rmi $TAG:latest
# run container
printf "\n\n----- RUNNING CONTAINER ------"
img_id=$(docker images --format="{{.ID}}" $TAG)
if [ $APP_ENV == 'dev' ]
then
# DEV
docker run -d -p $PORT:$PORT \
--add-host $DEV_HOSTNAME:$DEV_IP \
--log-driver=splunk \
--log-opt splunk-url=https://splunk.local:8088 \
--log-opt splunk-token=b45c74c2-7cf2-48b8-8134-f908fa543842 \
--log-opt splunk-insecureskipverify=true \
--log-opt tag="jira-maestro" \
--log-opt splunk-index=docker \
--log-opt splunk-source=/opt/jira-maestro/logs/maestro.log \
--name jira-maestro $img_id
else
# PROD
docker run -d -p $PORT:$PORT --name jira-maestro $img_id
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment