-
-
Save alekpopovic/1f9bd0983d7691359b44b88e870cd413 to your computer and use it in GitHub Desktop.
Sample Docker Startup Script
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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