From f054228de9c8a2f5649835412f1b79a5781982de Mon Sep 17 00:00:00 2001 From: Slawomir Koszewski Date: Fri, 12 Dec 2025 12:36:43 +0100 Subject: [PATCH] Updated mount method, and container user management. --- azure-cli | 18 +++++++++++------- entrypoint.sh | 2 +- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/azure-cli b/azure-cli index e3ac688..b1214fc 100755 --- a/azure-cli +++ b/azure-cli @@ -1,5 +1,9 @@ #!/usr/bin/env bash +# Set default values +ACCOUNT_NAME="$(id -un)" +USER_NAME="ubuntu" + while [ $# -gt 0 ]; do case $1 in --account|-a) @@ -7,7 +11,7 @@ while [ $# -gt 0 ]; do shift 2 ;; --user|-u) - USERNAME="$2" + USER_NAME="$2" shift 2 ;; *) @@ -19,10 +23,8 @@ done IMAGE_NAME="skoszewski/azure-cli:latest" # Normalize account name for use in volume name -ACCOUNT_NAME="${ACCOUNT_NAME:-$(id -un)}" ACCOUNT_NAME="${ACCOUNT_NAME/@/_at_}" ACCOUNT_NAME="${ACCOUNT_NAME//[-.]/_}" -USERNAME="${USERNAME:-ubuntu}" # Find container runtime if command -v podman &> /dev/null; then @@ -51,11 +53,13 @@ if ! $CMD volume inspect "account_$ACCOUNT_NAME" &> /dev/null; then fi # Run the container -$CMD run --rm -it \ - -v "account_$ACCOUNT_NAME":/home/${USERNAME} \ - -v $(pwd):/workdir \ +$CMD run \ + --rm \ + -it \ + --mount type=volume,source="account_$ACCOUNT_NAME",target=/home/${USER_NAME} \ + --mount type=bind,source=$(pwd),target=/workdir \ --name "azure-cli" \ $HOSTNAME_ARG \ --workdir /workdir \ "$@" \ - $IMAGE_NAME + $IMAGE_NAME --user "$USER_NAME" diff --git a/entrypoint.sh b/entrypoint.sh index 4a3326e..da4f12d 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -20,7 +20,7 @@ done # Check if the user exists if ! id -u "$SU_USER" >/dev/null 2>&1; then - useradd -m "$SU_USER" + useradd -m -s /usr/bin/bash "$SU_USER" fi # Check if the home directory exists