diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2018-06-12 15:31:40 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2018-06-12 15:31:40 +0000 |
commit | 1b62e380998d6fedf758d1aa8fa14d8c99dc161b (patch) | |
tree | 029bdc069de69a1541b4310c33841ad12bad740a /tcwg-base/tcwg-dev | |
parent | 484cb782dcfe6ab757bd6de08f7afd599edc67be (diff) |
tcwg-dev: Improve start-up script
Change-Id: Ic0e371817af06d69190d41df7f2daae8496a8b94
Diffstat (limited to 'tcwg-base/tcwg-dev')
-rwxr-xr-x | tcwg-base/tcwg-dev/start.sh | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/tcwg-base/tcwg-dev/start.sh b/tcwg-base/tcwg-dev/start.sh index 9117cc72..86df7314 100755 --- a/tcwg-base/tcwg-dev/start.sh +++ b/tcwg-base/tcwg-dev/start.sh @@ -70,11 +70,22 @@ fi mounts="" -home_top="/home" +docker_host=false if [ -f "/.dockerenv" ] && mount | grep -q "/run/docker.sock "; then + docker_host=true +fi + +home_top="/home" +if $docker_host; then # If inside "host" container (with proxied docker and /home from host-home # volume), convert paths to refer to volume's path on bare-metal. - home_top=/var/lib/docker/volumes/host-home/_data/ + home_top=/var/lib/docker/volumes/host-home/_data +fi + +if $docker_host || [ -d "$home_top/tcwg-buildslave" ]; then + # Bind-mount /home/tcwg-buildslave read-only to get access to + # /home/tcwg-buildslave/snapshots-ref/ + mounts="$mounts -v $home_top/tcwg-buildslave:/home/tcwg-buildslave:ro" fi case "$home" in @@ -88,20 +99,13 @@ case "$home" in ;; esac - -if [ -d "$home_top/tcwg-buildslave" ]; then - # Bind-mount /home/tcwg-buildslave read-only to get access to - # /home/tcwg-buildslave/snapshots-ref/ - mounts="$mounts -v $home_top/tcwg-buildslave:/home/tcwg-buildslave:ro" -fi - # Use at most half of all available RAM. memlimit=$(($(free -g | awk '/^Mem/ { print $2 }') / 2))G # IPC_LOCK is required for some implementations of ssh-agent (e.g., MATE's). # SYS_PTRACE is required for debugger work. caps="--cap-add=IPC_LOCK --cap-add=SYS_PTRACE" -$DOCKER run --name=$name -dt -p 22 $mounts --memory=$memlimit --pids-limit=5000 $caps $image --user $user "$@" +$DOCKER run --name=$name --hostname=$(basename $(hostname) -dckr)-dev -dt -p 22 $mounts --memory=$memlimit --pids-limit=5000 $caps $image --user $user "$@" port=$($DOCKER port $name 22 | cut -d: -f 2) |