Skip to content

Instantly share code, notes, and snippets.

@bizmate
Created July 26, 2017 18:08
Show Gist options
  • Save bizmate/aafff21885db50963e464be8c3808499 to your computer and use it in GitHub Desktop.
Save bizmate/aafff21885db50963e464be8c3808499 to your computer and use it in GitHub Desktop.
docker command talk to right docker container with the right network attached
#!/usr/bin/env bash
#current root Directory is
# notice the && cd .. <- step. This goes a folder above
#CHANGED FROM DIR=`echo $( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) | rev | cut -d"/" -f1 | rev `
DIR=`echo $( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd ) | rev | cut -d"/" -f1 | rev `
# needed because of docker usage of directory names in containers name prefix
# docker SILENTLY converts it to lowercase, SILENTLY removes dashes (-), SILENTLY removes underscores (_)
DOCKER_PROJ_NAME=`echo $DIR | tr -dc '[:alnum:]\n\r' | tr '[:upper:]' '[:lower:]'`
#!/usr/bin/env bash
set -e
shopt -s expand_aliases
#import docker_dir
CSDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# shellcheck source=ci/dockerDir.sh
. "$CSDIR/docker_dir.sh"
## Load Bak msssql backup files on MsSql - to decompress gzip files do gunzip -c file.txt.gz > file.txt
alias dsqlcmd="docker run --network ${DOCKER_PROJ_NAME}_default -it --rm beeven/docker-sqlcmd"
MSSQL_IP=`docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${DOCKER_PROJ_NAME}_mssql_1`
#MSSQL_IP=`docker inspect -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' ${DOCKER_PROJ_NAME}_mssql_1`
echo "MSSQL IP : $MSSQL_IP"
DB_NAME=$1
DB_FILE=$2
dsqlcmd -H ${MSSQL_IP} -U SA -Q "If(db_id(N'$DB_NAME') IS NULL) BEGIN CREATE DATABASE [$DB_NAME] END;"
#gunzip -c ${DB_BACKUPS_FOLDER}/$DB_FILE > ${DB_BACKUPS_FOLDER}/tmp.bak
#sqlcmd -H localhost -U SA -P Password1 -Q "RESTORE DATABASE [$DB_NAME] FROM DISK = N'tmp.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5, MOVE '$DB_NAME' TO '${DB_DATA_FOLDER}/$DB_NAME.mdf', MOVE '${DB_NAME}_log' TO '${DB_DATA_FOLDER}/$DB_NAME.ldf'"
#rm ${DB_BACKUPS_FOLDER}/tmp.bak
# Above fails with Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Login timeout expired.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment