Failed to register runner with private IP address

I have installed and registered a new runner for my self-managed gitlab recently but only this newly registered runner with a public ip address shown and got below error when using it for CI:

All other older runners registered with private ip addresses, can anyone please advise on how to fix this ip issue? As I cannot change the ip information of the runner after registration.

The error context is that runner attempts to execute a job using the Docker executor, but cannot connect to the Docker daemon running on your host.

By default, runner tries the connection string defined in the DOCKER_HOST environment variable. You can override this setting in the config.toml file: Advanced configuration | GitLab with using the host attribute.

Before doing so, please check whether Docker is running in the same host and network as GitLab runner.

Also, please share the details how the runner is installed (packages, container, etc.) and which version is involved.