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'
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.