X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=scripts%2Fxds-docker-create-container.sh;h=b75ecfda8d0b2d5391e6120b80fbc67a8c56ca1c;hb=refs%2Ftags%2Fv0.2.0-beta;hp=c4bbdeed407c142029d3f38325014aa4304dc5e1;hpb=0699037e09e716a17a77dbfc38c3ca553a583775;p=src%2Fxds%2Fxds-server.git diff --git a/scripts/xds-docker-create-container.sh b/scripts/xds-docker-create-container.sh index c4bbdee..b75ecfd 100755 --- a/scripts/xds-docker-create-container.sh +++ b/scripts/xds-docker-create-container.sh @@ -50,11 +50,12 @@ while [ $# -ne 0 ]; do -fr|-force-restart) FORCE=true ;; - *[0-9]*) - ID=$1 - ;; *) - IMAGE=$1 + if [[ "$1" =~ ^[0-9]+$ ]]; then + ID=$1 + else + IMAGE=$1 + fi ;; esac shift @@ -76,7 +77,7 @@ WWW_PORT=$((8000 + ID)) BOOT_PORT=$((69 + ID)) NBD_PORT=$((10809 + ID)) -mkdir -p $MIRRORDIR $XDTDIR $SHAREDDIR +mkdir -p $MIRRORDIR $XDTDIR $SHAREDDIR || exit 1 docker run \ --publish=${SSH_PORT}:22 \ --publish=${WWW_PORT}:8000 \ @@ -89,14 +90,39 @@ docker run \ -v $SHAREDDIR:/home/$DOCKER_USER/share \ -v $XDTDIR:/xdt \ -it $IMAGE +if [ "$?" != "0" ]; then + echo "An error was encountered while creating docker container." + exit 1 +fi if ($FORCE); then echo "Stoping xds-server..." - docker exec --user $DOCKER_USER ${NAME} bash -c "/usr/local/bin/xds-server-stop.sh" + docker exec --user $DOCKER_USER ${NAME} bash -c "/usr/local/bin/xds-server-stop.sh" || exit 1 sleep 1 echo "Starting xds-server..." - docker exec --user $DOCKER_USER ${NAME} bash -c "nohup /usr/local/bin/xds-server-start.sh" + docker exec --user $DOCKER_USER ${NAME} bash -c "nohup /usr/local/bin/xds-server-start.sh" || exit 1 fi +echo "Copying your identity to container $NAME" +#wait ssh service +echo -n wait ssh service . +res=3 +max=30 +count=0 +while [ $res -ne 0 ] && [ $count -le $max ]; do + sleep 1 + docker exec ${NAME} bash -c "systemctl status ssh" 2>/dev/null 1>&2 + res=$? + echo -n "." + count=$(expr $count + 1); +done +echo + +ssh-keygen -R [$(hostname)]:$SSH_PORT -f ~/.ssh/known_hosts +docker exec ${NAME} bash -c "mkdir -p /home/devel/.ssh" +docker cp ~/.ssh/id_rsa.pub ${NAME}:/home/devel/.ssh/authorized_keys +docker exec ${NAME} bash -c "chown devel:devel -R /home/devel/.ssh ;chmod 0700 /home/devel/.ssh;chmod 0600 /home/devel/.ssh/*" +ssh -o StrictHostKeyChecking=no -p $SSH_PORT devel@$(hostname) exit + echo "You can now login using:" echo " ssh -p $SSH_PORT $DOCKER_USER@$(hostname)"