Running build script in Docker container locally

We are looking to move from shell executor to Docker executor and I am reading the docs to try and understand how to setup and configure.

With our current shell executor a bash script is run that has commands for building NodeJS based applications. So I understand that the script would be run in the container rather than on the Runner server and the container will need the prerequisite services that are currently installed locally in order for the commands in the script to function, which I get.

How is the cloned repo made available to the script running inside of the container? Let’s say that I wanted to run the script in the container on a local machine. What commands would I use to make that happen?

Having a disconnect so far as to how the runner provides the cloned repo source to the running container and how script commands are executed in said container. From what I have read this happens in the “Pre-job”.