You can run commands on the VM which the runner is working on itself. This can be useful to run quick commands or other things like git, aws or azure CLIs, etc
As with the older beta, Actions can be your main way to run chunks of code or tasks from either personal repos or third party actions. you point it to a folder, repo, or registry and it will search for a
action.yml file to find the source code that needs to be run for that specific action
As you may have integration tests in your CI, you may wish to spin up multiple services that can communicate with each other on the same network. Using Docker Compose, you can easily spin up databases, event queue systems, or any other service that could be run locally as part of your system.