Changes to Docker-related files/configuration don't occur in a vacuum. They are made in coordination with changes to the main repository, so it doesn't make sense to track them separately. Note: Removing the 'windows' Docker files completely. No one has has used them in a long, long time. The client build would be broken in there anyways, the image is based on .NET Framework 3.5!
65 lines
1.2 KiB
Bash
Executable File
65 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
function print_help_and_exit() {
|
|
cat <<EOF
|
|
Open a shell inside the docker container
|
|
Usage: docker_shell.sh [OPTIONS] [CONTAINER]
|
|
|
|
Options:
|
|
-u,--user The user to login with in the container (defaults to the current user)
|
|
-c,--container The container name (may also be specified as positional arg)
|
|
-h,--help Print this help message and exit
|
|
|
|
EOF
|
|
exit "$1"
|
|
}
|
|
|
|
|
|
declare docker_user=""
|
|
declare cont_name=""
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
case "$1" in
|
|
-u)
|
|
;&
|
|
--user)
|
|
if [[ -z "$2" ]]; then
|
|
echo "User (-u,--user) must be non-empty"
|
|
print_help_and_exit 1
|
|
fi
|
|
docker_user="$2"
|
|
shift 2
|
|
;;
|
|
-h)
|
|
;&
|
|
--help)
|
|
print_help_and_exit 0
|
|
;;
|
|
-c)
|
|
;&
|
|
--container)
|
|
shift 1
|
|
;&
|
|
*)
|
|
if [[ ! -z "$cont_name" ]]; then
|
|
echo "Unexpected argument '$1'"
|
|
print_help_and_exit 1
|
|
fi
|
|
cont_name="$1"
|
|
shift 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
|
|
if [[ -z "$cont_name" ]]; then
|
|
echo "Please specify the container ([-c,--container])"
|
|
print_help_and_exit 1
|
|
fi
|
|
|
|
if [[ -z "$docker_user" ]]; then
|
|
docker_user="$USER"
|
|
fi
|
|
|
|
docker exec -u "$docker_user" -it "$cont_name" bash
|