- docker 1.8.3+
- xplanner_plus:1.0b3
- contains a mysql which use persist volume of host, so you can restart it without data lost
./xplanner_restart.sh
root@myhost:~/script# cat xplanner_restart.sh
#!/bin/bash
export PATH=/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin
wait_for_service_ready()
{
local port=$1
attempt=0
while true; do
echo Attempt "$(($attempt+1))" to check for xplanner-plus
rsp_code=`curl -o /dev/null -s -m 10 --connect-timeout 10 -w %{http_code} http://localhost:${port}/xplanner-plus/do/login`
if [[ ${rsp_code} != "200" ]]; then
if (( attempt > 10 )); then
echo "failed to start xplanner-plus."
exit 1
fi
else
echo " [xplanner-plus is ready]"
break
fi
echo " [xplanner-plus not ready yet]"
attempt=$(($attempt+1))
sleep 5
done
}
install_mysql()
{
local mysql_img="njuicsgz/mysql:5.5"
echo "pulling ${mysql_img}..."
docker pull ${mysql_img} > /dev/null
echo 'kill old mysql container if it exist'
docker rm -f mysql_xplanner
mkdir -p ${PERSIST_DISK}/docker/mysql_xplanner
docker run --name mysql_xplanner -h mysql_xplanner \
-v ${PERSIST_DISK}/docker/mysql_xplanner:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=Letmein123 \
-d ${mysql_img}
echo 'sleep 5s to ensure mysql is ready'
sleep 5
echo 'intalled mysql'
}
install_xplanner()
{
local xplanner="njuicsgz/xplanner-plus:1.0b3"
echo "pulling ${xplanner}..."
docker pull ${xplanner} > /dev/null
docker rm -f xplanner
docker run -d \
--link mysql_xplanner:mysql_xplanner\
-e MYSQL_HOST_IP=mysql_xplanner \
-e MYSQL_USER=root \
-e MYSQL_PASSWORD=Letmein123 \
-p 28081:8080\
--name xplanner -h xplanner ${xplanner}
wait_for_service_ready 28081
}
PERSIST_DISK=/mnt/master-pd
install_mysql
install_xplanner
Content type
Image
Digest
Size
209 MB
Last updated
about 10 years ago
docker pull njuicsgz/xplanner-plus:1.0b3