Skip to content

Instantly share code, notes, and snippets.

@maglnet
Last active April 29, 2024 11:20
Show Gist options
  • Save maglnet/e08bb84e8f04ee9cd8be to your computer and use it in GitHub Desktop.
Save maglnet/e08bb84e8f04ee9cd8be to your computer and use it in GitHub Desktop.
Sample Docker Startup Script
#!/bin/bash
WEB_PORT=8080
WEB_CONTAINER_NAME="zf2-web"
MYSQL_CONTAINER_NAME="zf2-mysql"
MYSQL_PASSWORD="mypassword"
MYSQL_LOCAL_PORT=13306
ZF2_APP_DIR=$(pwd)
MYSQL_DATA_DIR="$(pwd)/docker/mysql"
#################
# BEGIN FUNCTIONS
#################
function start {
echo "starting docker environment";
#MySQL Server
docker start $MYSQL_CONTAINER_NAME > /dev/null 2>&1
if [ $? -ne 0 ]
then
docker run \
-p $MYSQL_LOCAL_PORT:3306 \
--name $MYSQL_CONTAINER_NAME \
-e MYSQL_ROOT_PASSWORD=$MYSQL_PASSWORD \
-v $MYSQL_DATA_DIR:/var/lib/mysql \
-d \
mysql
fi
#Apache Web Server
docker start $WEB_CONTAINER_NAME > /dev/null 2>&1
if [ $? -ne 0 ]
then
docker run \
--name $WEB_CONTAINER_NAME \
--link $MYSQL_CONTAINER_NAME:mysql \
-p $WEB_PORT:80 \
-v $ZF2_APP_DIR:/zf2-app \
-d \
maglnet/docker-zf2
fi
}
function stop {
echo "stopping docker environment";
docker stop $WEB_CONTAINER_NAME
docker stop $MYSQL_CONTAINER_NAME
}
function remove {
docker rm $WEB_CONTAINER_NAME
docker rm $MYSQL_CONTAINER_NAME
}
function restart {
echo "restarting docker environment...";
stop;
start;
}
case "$1" in
"start")
start
;;
"stop")
stop
;;
"rm")
remove
;;
"restart")
restart
;;
"upgrade")
docker pull maglnet/docker-zf2
docker pull mysql
stop
remove
start
;;
*)
echo "usage: start | stop | restart | rm | upgrade"
exit 1
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment