How to get docker service locally to debug pipeline.

Chris Taylor August 8, 2020

I'm trying to debug my pipeline locally.

My bitbucket-pipelines.yml uses services. I can get everything up and running OK with a database service linked to atlassian/default-image:2 as per this article https://support.atlassian.com/bitbucket-cloud/docs/debug-pipelines-locally-with-docker/.


However, I need the docker service also.  Image atlassian/default-image:2 doesn't appear to have 'docker in docker'.  How can I acquire a docker service?

# bitbucket-pipelines.yml
image: atlassian/default-image:2
pipelines:
default:
- step:
services:
- docker # how do I get a docker service?
- db
script:
# my steps here requiring both db and docker services

definitions:
services:
db:
image: mysql:5.7
variables:

MYSQL_DATABASE: '
pipelines'
MYSQL_RANDOM_ROOT_PASSWORD: '
yes'
MYSQL_USER: '
test_user'
MYSQL_PASSWORD: '
test_user_password'

 

1 answer

1 vote
Theodora Boudale
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
August 24, 2020

Hi Chris,

One thing you can do here is add the following option to the command that starts your main container:

-v /var/run/docker.sock:/var/run/docker.sock

This way, the Docker container you start will have access to the Docker daemon of the host system (your machine).

If you are using atlassian/default-image:2 image you will need to install Docker to the container once it starts running, you can find instructions here:

Afterwards you'll be able to execute Docker commands and can proceed with the execution of commands in your script.

Is this something that works for you?

Kind regards,
Theodora

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
TAGS
AUG Leaders

Atlassian Community Events