

# Users self defined ...

# xd rund --forever --image ... ... ...

___x_cmd_docker_snapd(){
    [ $# -gt 0 ]    ||      set -- --help

    local op="$1";          shift
    case "$op" in
        -h|--help)          ___x_cmd help -m docker snapd  "$@" ;;
        create|start|stop|run)
                            ___x_cmd_docker_snapd_"$op"    "$@" ;;
    esac
}

___x_cmd_docker_snapd_create(){
    local image="$1"
    local name="$2"

    ___x_cmd docker create "$@" --name "${name}" "$image" /bin/foreversleep.sh
}

___x_cmd_alpine_daemon_start(){
    local image="$1"
    local name="$2"

    ___x_cmd docker container exist "$name" || \
            ___x_cmd_alpine_daemon_create "$image" "$name"

    ___x_cmd docker start "${name}"
}

___X_CMD_ALPINE_SNAP_DAEMON="$___X_CMD_ROOT_DATA/alpine/daemon"

___x_cmd_alpine_daemon___run(){
    [ ! -t 0 ] || ___x_cmd cmdstr RUN_OPTS --tty

    local name="${___X_CMD_ALPINE_PREFIX}-$1"
    alpine:debug "Starting container -> $name"

    eval ___x_cmd docker exec \
        -i "$RUN_OPTS" "$name" "\"\$@\""
}
