Archived
1
0

Streamline dev container workflow (#2014)

This commit is contained in:
Anmol Sethi
2020-08-27 15:39:24 -04:00
committed by GitHub
parent ceb2265b14
commit 1558ff6dac
3 changed files with 16 additions and 56 deletions

View File

@ -1,13 +0,0 @@
FROM node:12
RUN apt-get update && apt-get install -y \
curl \
iproute2 \
vim \
iptables \
net-tools \
libsecret-1-dev \
libx11-dev \
libxkbfile-dev
CMD ["/bin/bash"]

View File

@ -1,48 +1,23 @@
#!/usr/bin/env bash
set -euo pipefail
# Opens an interactive bash session inside of a docker container
# for improved isolation during development.
# If the container exists it is restarted if necessary, then reused.
main() {
cd "$(dirname "${0}")/../../.."
cd "$(dirname "$0")/../../.."
source ./ci/lib.sh
local container_name=code-server-dev
if docker inspect $container_name &> /dev/null; then
echo "-- Starting container"
docker start "$container_name" > /dev/null
enter
exit 0
fi
build
run
enter
}
enter() {
echo "--- Entering $container_name"
docker exec -it "$container_name" /bin/bash
}
run() {
echo "--- Spawning $container_name"
docker run \
-it \
--name $container_name \
"-v=$PWD:/code-server" \
"-w=/code-server" \
"-p=127.0.0.1:8080:8080" \
$(if [[ -t 0 ]]; then echo -it; fi) \
"$container_name"
--rm \
-v "$PWD:/src" \
-w /src \
-p 127.0.0.1:8080:8080 \
"$(docker_build ./ci/images/debian8)" \
"$@"
}
build() {
echo "--- Building $container_name"
docker build -t $container_name ./ci/dev/image > /dev/null
docker_build() {
docker build "$@" >&2
docker build -q "$@"
}
main "$@"