diff options
Diffstat (limited to 'xenial-arm64-tcwg-dev/start.sh')
-rwxr-xr-x | xenial-arm64-tcwg-dev/start.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/xenial-arm64-tcwg-dev/start.sh b/xenial-arm64-tcwg-dev/start.sh new file mode 100755 index 0000000..70ebbaa --- /dev/null +++ b/xenial-arm64-tcwg-dev/start.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +set -e +set -x + +if groups tcwg-buildslave 2>/dev/null | grep -q docker; then + # If tcwg-buildslave user is present, use it to start the container + # to have [sudo] log record of container startups. + DOCKER="sudo -u tcwg-buildslave docker" +elif groups 2>/dev/null | grep -q docker; then + # Run docker straight up if $USER is in "docker" group. + DOCKER="docker" +else + # Fallback to sudo otherwise. + DOCKER="sudo docker" +fi + +$DOCKER pull maximkuvyrkov/xenial-arm64-tcwg-dev +$DOCKER run --name=$USER-xenial -dt -p 22 -v $HOME:$HOME -v /home/tcwg-buildslave:/home/tcwg-buildslave:ro --memory=$(($(free -g | awk '/^Mem/ { print $2 }') / 2))G --pids-limit=5000 --cap-add=IPC_LOCK maximkuvyrkov/xenial-arm64-tcwg-dev "$(getent passwd $USER)" "$(id -gn)" "$(/etc/ssh/ssh_keys.py $USER 2>/dev/null || sss_ssh_authorizedkeys $USER 2>/dev/null)" + +port=$($DOCKER port $USER-xenial 22 | cut -d: -f 2) + +set +x +echo "NOTE: the warning about kernel not supporting swap memory limit is expected" +echo "To connect to container run \"ssh -p $port localhost\"" +echo "To stop container run \"docker stop $USER-xenial\"" +echo "To restart container run \"docker start $USER-xenial\"" +echo "To remove container run \"docker rm -fv $USER-xenial\"" +echo "See https://collaborate.linaro.org/display/TCWG/How+to+setup+personal+dev+environment+using+docker for additional info" |