diff --git a/README.md b/README.md
index 8a25f65..db00f9a 100644
--- a/README.md
+++ b/README.md
@@ -192,6 +192,24 @@ To override the default startup commands, append your own commands after the scr
+#### docker_run commands - hybridized
+
+Set an alias -
+```
+alias docker_run='~/Termux-Udocker/docker_run.sh'
+```
+Pattern -
+```
+docker_run [docker_options] --name
+docker_run [docker_options] --name --entrypoint [arguments...]
+```
+Example -
+```
+docker_run -p 8080:8080 -v "/data/data/com.termux/files/home/Termux-Udocker/data-registry:/var/log/nginx" -e NGINX_LISTEN_PORT=8080 -e REGISTRY_URL=http://localhost:5000 --name registry joxit/docker-registry-ui
+```
+
+
+
### Tips
#### List containers
diff --git a/docker_run.sh b/docker_run.sh
new file mode 100755
index 0000000..ee73213
--- /dev/null
+++ b/docker_run.sh
@@ -0,0 +1,142 @@
+#!/bin/bash
+echo $(dirname "${BASH_SOURCE[0]}")
+source "$(dirname "${BASH_SOURCE[0]}")/source.env"
+cd "$(dirname "${BASH_SOURCE[0]}")"
+
+# Function to display usage information
+usage() {
+ echo "Usage:"
+ echo " $0 [docker options] --name "
+ echo " $0 [docker options] --name --entrypoint [arguments...]"
+ echo ""
+ echo "Examples:"
+ echo " $0 --name mycontainer nginx:latest"
+ echo " $0 -d -p 8080:80 --name webserver nginx:latest"
+ echo " $0 --rm -it --name interactive --entrypoint bash ubuntu:20.04"
+ echo " $0 -v /host/path:/container/path --name mycontainer --entrypoint bash ubuntu:20.04 -c 'echo hello'"
+ exit 1
+}
+
+# Check if we have at least 3 arguments (minimum required)
+if [ $# -lt 3 ]; then
+ echo "Error: Insufficient arguments"
+ usage
+fi
+
+# Initialize variables
+name_flag=false
+entrypoint_flag=false
+container_name=""
+image=""
+entrypoint_cmd=""
+docker_options=()
+docker_args=()
+
+# Parse arguments
+i=1
+while [ $i -le $# ]; do
+ case "${!i}" in
+ --name)
+ name_flag=true
+ ((i++))
+ if [ $i -le $# ]; then
+ container_name="${!i}"
+ else
+ echo "Error: --name requires a container name"
+ usage
+ fi
+ ;;
+ --entrypoint)
+ entrypoint_flag=true
+ ((i++))
+ if [ $i -le $# ]; then
+ entrypoint_cmd="${!i}"
+ else
+ echo "Error: --entrypoint requires a command"
+ usage
+ fi
+ ;;
+ *)
+ if [ "$name_flag" = false ]; then
+ # Arguments before --name are docker options
+ docker_options+=("${!i}")
+ else
+ # Arguments after --name are image and additional arguments
+ docker_args+=("${!i}")
+ fi
+ ;;
+ esac
+ ((i++))
+done
+
+# Validate that we have --name
+if [ "$name_flag" = false ]; then
+ echo "Error: --name argument is required"
+ usage
+fi
+
+# Validate that we have a container name
+if [ -z "$container_name" ]; then
+ echo "Error: Container name cannot be empty"
+ usage
+fi
+
+# Validate that we have at least one additional argument (the image)
+if [ ${#docker_args[@]} -eq 0 ]; then
+ echo "Error: Image name is required"
+ usage
+fi
+
+# Extract the image (first argument in docker_args)
+image="${docker_args[0]}"
+
+# Validate image format (basic check for image[:tag])
+if [[ ! "$image" =~ ^[a-zA-Z0-9./-]+(:[a-zA-Z0-9.-]+)?$ ]]; then
+ echo "Error: Invalid image format. Expected format: image[:tag]"
+ usage
+fi
+
+# example: -v $DATA_DIR/logs:/etc/logs
+DATA_DIR="$(pwd)/data-$container_name"
+
+udocker_check
+# necessary step to remove previous container
+udocker_prune
+# obsolete?
+udocker_create "$container_name" "$image"
+
+
+# Build and execute the docker run command
+if [ "$entrypoint_flag" = true ]; then
+ # Pattern: [docker_options] --name --entrypoint [arguments...]
+ if [ -z "$entrypoint_cmd" ]; then
+ echo "Error: Entrypoint command cannot be empty"
+ usage
+ fi
+
+ # Remove the image from docker_args to get remaining arguments
+ remaining_args=("${docker_args[@]:1}")
+
+ echo "Running: udocker_run ${docker_options[*]} --entrypoint $entrypoint_cmd $container_name ${remaining_args[*]}"
+ udocker_run "${docker_options[@]}" --entrypoint "$entrypoint_cmd" "$container_name" "${remaining_args[@]}"
+else
+ # Pattern: [docker_options] --name
+ if [ ${#docker_args[@]} -gt 1 ]; then
+ echo "Error: Too many arguments for basic pattern. Use --entrypoint if you need to pass additional arguments."
+ usage
+ fi
+
+ echo "Running: udocker_run ${docker_options[*]} $container_name"
+ udocker_run "${docker_options[@]}" "$container_name"
+fi
+
+# Capture and display the exit code
+exit_code=$?
+if [ $exit_code -eq 0 ]; then
+ echo "Docker container '$container_name' completed successfully"
+else
+ echo "Docker container '$container_name' exited with code $exit_code"
+fi
+
+exit $exit_code
+