Dev Question about Drone Docker Runner: how to execute multiple command in an container?

For any drone pipeline there are multiple shell command inside. After continuous integration process triggered. The drone-docker-runner will pull the base image, and clone the git repo and then execute each of the shell commands sequentially.

According to the drone-docker-runner source code, (I am not good on Golang). I only can find that the runner utilize the docker official SDK for docker manipulation.

I have search about how to run multiple commands in docker container on the internet. But the only answer is docker run bash -c 'cmd 1 && cmd 2 && cmd3' or bash -c 'cmd 1; cmd 2; cmd 3'. I don’t think drone-docker-runner will use this way.

I know the runner use go API for docker which is slightly different than command line client. But their functionality is similar.

Can anyone explain how drone-docker-runner achieve this?