tty workaround (side benefit: cleaner RUN scripts)
This commit is contained in:
parent
8b690aee1c
commit
4f098d4fa8
|
@ -34,7 +34,9 @@ RUN export DEBIAN_FRONTEND=noninteractive \
|
||||||
&& dpkg-reconfigure locales \
|
&& dpkg-reconfigure locales \
|
||||||
&& update-locale LANG=${__LANG} LANGUAGE=${__LANGUAGE} LC_ALL=${__LC_ALL} \
|
&& update-locale LANG=${__LANG} LANGUAGE=${__LANGUAGE} LC_ALL=${__LC_ALL} \
|
||||||
&& unset DEBIAN_FRONTEND \
|
&& unset DEBIAN_FRONTEND \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& mkdir -p /usr/share/terminfo/d \
|
||||||
|
&& ln -s /lib/terminfo/d/dumb /usr/share/terminfo/d/dumb
|
||||||
ENV LANG=${__LANG}
|
ENV LANG=${__LANG}
|
||||||
SHELL ["/bin/sh", "-c"]
|
SHELL ["/bin/sh", "-c"]
|
||||||
|
|
||||||
|
@ -93,6 +95,7 @@ ARG NPM_VERSION
|
||||||
ARG NVM_VERSION
|
ARG NVM_VERSION
|
||||||
SHELL ["/bin/bash", "-c"]
|
SHELL ["/bin/bash", "-c"]
|
||||||
RUN adduser --disabled-password --shell /bin/bash --gecos "" embark \
|
RUN adduser --disabled-password --shell /bin/bash --gecos "" embark \
|
||||||
|
&& usermod -a -G tty embark \
|
||||||
&& mkdir -p /dapp \
|
&& mkdir -p /dapp \
|
||||||
&& chown embark:embark /dapp \
|
&& chown embark:embark /dapp \
|
||||||
&& curl -fsSLO --compressed "https://bootstrap.pypa.io/get-pip.py" \
|
&& curl -fsSLO --compressed "https://bootstrap.pypa.io/get-pip.py" \
|
||||||
|
|
|
@ -261,7 +261,7 @@ echo $1
|
||||||
# a comment
|
# a comment
|
||||||
echo $2
|
echo $2
|
||||||
echo $3
|
echo $3
|
||||||
eval echo \\\$\$3
|
eval echo \$$3
|
||||||
# another comment
|
# another comment
|
||||||
```
|
```
|
||||||
Invoke with:
|
Invoke with:
|
||||||
|
|
|
@ -3,4 +3,5 @@
|
||||||
export BASH_ENV=/home/embark/.bash_env
|
export BASH_ENV=/home/embark/.bash_env
|
||||||
|
|
||||||
chmod a+w /dev/std*
|
chmod a+w /dev/std*
|
||||||
|
chmod g+r /dev/pts/0
|
||||||
exec su-exec embark user-entrypoint.sh "$@"
|
exec su-exec embark user-entrypoint.sh "$@"
|
||||||
|
|
14
run.sh
14
run.sh
|
@ -141,17 +141,21 @@ run_embark () {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local run_script=$(< "$EMBARK_DOCKER_RUN")
|
local run_script=$(< "$EMBARK_DOCKER_RUN")
|
||||||
# do not add indentation to lines below
|
# do not alter indentation, tabs in lines below
|
||||||
run_script="exec bash -s ${cmd[@]} << 'SCRIPT'
|
run_script=$(cat <<- RUN_SCRIPT
|
||||||
|
exec bash -${i_flag}s \$(tty) ${cmd[@]} << 'SCRIPT'
|
||||||
|
__tty=\$1
|
||||||
|
shift
|
||||||
td=\$(mktemp -d)
|
td=\$(mktemp -d)
|
||||||
cat << 'RUN' > \$td/run_script
|
cat << 'RUN' > \$td/run_script
|
||||||
$run_script
|
$run_script
|
||||||
RUN
|
RUN
|
||||||
chmod +x \$td/run_script
|
chmod +x \$td/run_script
|
||||||
exec \$td/run_script \$@
|
exec \$td/run_script \$@ < \$__tty
|
||||||
SCRIPT
|
SCRIPT
|
||||||
"
|
RUN_SCRIPT
|
||||||
# do not add indentation to lines above
|
)
|
||||||
|
# do not alter indentation, tabs in lines above
|
||||||
cmd=( "bash" "-${i_flag}c" "$run_script" )
|
cmd=( "bash" "-${i_flag}c" "$run_script" )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue