summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xbin/enter10
1 files changed, 8 insertions, 2 deletions
diff --git a/bin/enter b/bin/enter
index bd68daa..64e5b68 100755
--- a/bin/enter
+++ b/bin/enter
@@ -43,7 +43,11 @@ done
 shift $((OPTIND - 1))
 
 if [ -z "$img" ]; then
-	img="$(basename "$(dirname "$(readlink -f -- "$dockerfile")")")"
+	name="$(basename "$dockerfile" | cut -d'.' -f1 | tr '[:upper:]' '[:lower:]')" # support <name>.Dockerfile
+	scope="$(basename "$(dirname "$(readlink -f -- "$dockerfile")")" | tr '[:upper:]' '[:lower:]')"
+	# fall back to directory name
+	[ "$name" = "Dockerfile" ] && name="$scope"
+	img="${scope}/${name}"
 
 	# allow setting this to some non-file value to skip building
 	# > enter -i alpine -f none
@@ -80,6 +84,8 @@ ep="sh"
 
 [ -n "$verbose" ] && { set -x; }
 
-exec docker run --rm -it \
+cname=$(mktemp --dry-run enterXXXX)
+exec docker run --name "$cname" --rm -i \
+	--uts host \
 	--entrypoint="$ep" \
 	--mount=type=bind,src="$cwd",dst=/src -w /src $extra_args "$img" $@