Use your Docker images in self-hosted runners

When you use a self-hosted runner, you may want to override the Atlassian public Docker images with your own custom Docker images.

In order to use your own Docker images in your self-hosted runner, you can configure them using these parameters PAUSE_IMAGE, AUTH_PROXY_IMAGE and CLONE_IMAGE.

Example

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 docker container run -it -v /tmp:/tmp \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /var/lib/docker/containers:/var/lib/docker/containers:ro \ -e ACCOUNT_UUID=<my-account-id> \ -e REPOSITORY_UUID=<my-repository-id> \ -e RUNNER_UUID=<my-runner-id> \ -e OAUTH_CLIENT_ID=<my-oauthclient-id> \ -e OAUTH_CLIENT_SECRET=<my-oauthclient-secret> \ -e WORKING_DIRECTORY=/tmp \ -e RUNTIME_PREREQUISITES_ENABLED=true \ -e PAUSE_IMAGE="my-private-registry/my-pause:latest" \ -e AUTH_PROXY_IMAGE="my-private-registry/my-auth-proxy:latest" \ -e CLONE_IMAGE="my-private-registry/my-clone:latest" \ --name my-runner-b0ae87b8-423b-5c24-9a95-84ddad9cdfae \ docker-public.packages.atlassian.com/sox/atlassian/bitbucket-pipelines-runner:1

The default Atlassian Docker images used by the self-hosted runners are:

  • PAUSE_IMAGEdocker-hub.packages.atlassian.com/google/pause:latest

  • AUTH_PROXY_IMAGEdocker-public.packages.atlassian.com/sox/atlassian/bitbucket-pipelines-dvcs-tools:prod-stable

  • CLONE_IMAGEdocker-public.packages.atlassian.com/sox/atlassian/bitbucket-pipelines-auth-proxy:prod-stable

All of the above default images can be retrieved using docker pull without logging in (they are public images).

Limitations

This feature has the following limitations:

  • Cannot pull from a registry requiring authentication.

  • Cannot use images that live on the host. Images must be hosted in a registry as the runner will always attempt to pull images.

  • Only applies to Docker self-hosted runners. Other runners don't use containers.

Additional Help