GitLab pipeline stop at the stage of pulling an image from Docker hub
I image you have used the dockerExecutor in gitlab-runner. This means you try to use docker-in-docker.
https://docs.gitlab.com/ee/ci/docker/using_docker_build.html
I suggest to configure the docker socket binding which might be less secure but very easy to handle.
To register a runner with docker-in-docker support mount the /var/run/docker.sock:/var/run/docker.sock
e.g.
sudo gitlab-runner register -n \
  --url https://gitlab.com/ \
  --registration-token REGISTRATION_TOKEN \
  --executor docker \
  --description &quot;My Docker Runner&quot; \
  --docker-image &quot;docker:19.03.12&quot; \
  --docker-volumes /var/run/docker.sock:/var/run/docker.sock