Bench init need redis server running even though inside container bench init doesn't need it?

I’m trying to do bench init following init.sh file in hrms github. Here is my command in my server:

bench init --skip-redis-config-generation frappe-bench

Somehow, I got this TimeoutError from trying connecting to redis.

Setting Up Environment
$ python3 -m venv env
$ /home/fahadh/frappe-bench/env/bin/python -m pip install --quiet --upgrade pip
$ /home/fahadh/frappe-bench/env/bin/python -m pip install --quiet wheel
Getting frappe
$ git clone https://github.com/frappe/frappe.git  --depth 1 --origin upstream
Cloning into 'frappe'...
remote: Enumerating objects: 3319, done.
remote: Counting objects: 100% (3319/3319), done.
remote: Compressing objects: 100% (2812/2812), done.
remote: Total 3319 (delta 459), reused 2862 (delta 412), pack-reused 0 (from 0)
Receiving objects: 100% (3319/3319), 15.29 MiB | 8.38 MiB/s, done.
Resolving deltas: 100% (459/459), done.
Installing frappe
$ /home/fahadh/frappe-bench/env/bin/python -m pip install --quiet --upgrade -e /home/fahadh/frappe-bench/apps/frappe
$ yarn install --check-files
yarn install v1.22.22
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
warning " > @frappe/esbuild-plugin-postcss2@0.1.3" has unmet peer dependency "less@^4.x".
warning " > @frappe/esbuild-plugin-postcss2@0.1.3" has unmet peer dependency "stylus@^0.x".
warning " > @vue/component-compiler@4.2.4" has unmet peer dependency "vue-template-compiler@*".
[5/5] Building fresh packages...
Done in 11.32s.
Found existing apps updating states...
$ supervisorctl restart frappe:
unix:///var/run/supervisor.sock no such file
WARN: restarting supervisor group `frappe:` failed. Use `bench restart` to retry.
$ bench build
Traceback (most recent call last):
  File "/home/fahadh/frappe-bench/env/lib/python3.10/site-packages/redis/connection.py", line 357, in connect
    sock = self.retry.call_with_retry(
  File "/home/fahadh/frappe-bench/env/lib/python3.10/site-packages/redis/retry.py", line 67, in call_with_retry
    raise error
  File "/home/fahadh/frappe-bench/env/lib/python3.10/site-packages/redis/retry.py", line 62, in call_with_retry
    return do()
  File "/home/fahadh/frappe-bench/env/lib/python3.10/site-packages/redis/connection.py", line 358, in <lambda>
    lambda: self._connect(), lambda error: self.disconnect(error)
  File "/home/fahadh/frappe-bench/env/lib/python3.10/site-packages/redis/connection.py", line 730, in _connect
    raise err
  File "/home/fahadh/frappe-bench/env/lib/python3.10/site-packages/redis/connection.py", line 718, in _connect
    sock.connect(socket_address)
TimeoutError: [Errno 110] Connection timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/fahadh/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 48, in invoke
    return super().invoke(ctx)
  File "/home/fahadh/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 1694, in invoke
    super().invoke(ctx)
  File "/home/fahadh/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 1443, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/fahadh/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 788, in invoke
    return __callback(*args, **kwargs)
  File "/home/fahadh/frappe-bench/env/lib/python3.10/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/fahadh/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 107, in app_group
    ctx.obj = CliCtxObj(sites=get_sites(site), force=force, verbose=verbose, profile=profile)
  File "/home/fahadh/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 119, in get_sites
    elif default_site := frappe.get_conf().default_site:
  File "/home/fahadh/frappe-bench/apps/frappe/frappe/config.py", line 155, in get_conf
    with frappe.init_site(site):
  File "/home/fahadh/frappe-bench/apps/frappe/frappe/__init__.py", line 368, in __enter__
    init(self.site)
  File "/home/fahadh/frappe-bench/apps/frappe/frappe/__init__.py", line 268, in init
    setup_redis_cache_connection()
  File "/home/fahadh/frappe-bench/apps/frappe/frappe/__init__.py", line 397, in setup_redis_cache_connection
    client_cache = ClientCache()
  File "/home/fahadh/frappe-bench/apps/frappe/frappe/utils/redis_wrapper.py", line 480, in __init__
    self.invalidator_id = self.invalidator.client_id()
  File "/home/fahadh/frappe-bench/env/lib/python3.10/site-packages/redis/commands/core.py", line 581, in client_id
    return self.execute_command("CLIENT ID", **kwargs)
  File "/home/fahadh/frappe-bench/env/lib/python3.10/site-packages/redis/client.py", line 559, in execute_command
    return self._execute_command(*args, **options)
  File "/home/fahadh/frappe-bench/env/lib/python3.10/site-packages/redis/client.py", line 565, in _execute_command
    conn = self.connection or pool.get_connection(command_name, **options)
  File "/home/fahadh/frappe-bench/env/lib/python3.10/site-packages/redis/connection.py", line 1422, in get_connection
    connection.connect()
  File "/home/fahadh/frappe-bench/env/lib/python3.10/site-packages/redis/connection.py", line 361, in connect
    raise TimeoutError("Timeout connecting to server")
redis.exceptions.TimeoutError: Timeout connecting to server

Timeout connecting to server
subprocess.CalledProcessError: Command 'bench build' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/fahadh/.local/lib/python3.10/site-packages/bench/commands/make.py", line 75, in init
    init(
  File "/home/fahadh/.local/lib/python3.10/site-packages/bench/utils/render.py", line 105, in wrapper_fn
    return fn(*args, **kwargs)
  File "/home/fahadh/.local/lib/python3.10/site-packages/bench/utils/system.py", line 112, in init
    build_assets(bench_path=path)
  File "/home/fahadh/.local/lib/python3.10/site-packages/bench/utils/bench.py", line 384, in build_assets
    exec_cmd(command, cwd=bench_path, env=env)
  File "/home/fahadh/.local/lib/python3.10/site-packages/bench/utils/__init__.py", line 181, in exec_cmd
    raise CommandFailedError(cmd) from subprocess.CalledProcessError(return_code, cmd)
bench.exceptions.CommandFailedError: bench build

ERROR: There was a problem while creating frappe-bench
Do you want to rollback these changes? [y/N]:
Aborted!

This is solved by running redis server to port 11000 and 13000. But, why should I have redis server ready? Because when I tried in inside docker container that I create like this:

docker run -dt --entrypoint /bin/bash --name frappe frappe/bench:latest

and then I exec inside the container with

docker exec -it frappe /bin/bash

and then do bench init

bench init --skip-redis-config-generation frappe-bench

It’s doing fine without any running redis server. What could be wrong with my init?