Closed RomainMendez closed 3 months ago
While I never used Drone myself, I know it has some challenges for doing docker-in-docker setups. So we have a specific plugin for it (https://github.com/testcontainers/dind-drone-plugin), could you give it a try?
I did, and it suffers from the same issue, while I didn't try the docker client directly for it, I was also not able to launch a testcontainer. It's quite odd because I see it using the same docker daemon, I think somehow the IP/port resolution is wrong in this setting, any way to display the logs without using a patched version of testcontainer ?
I do have an issue opened there actually
I've done more digging, I can use the "DockerClient" primitive directly, so that means there's an issue in this particular setup with how the IP + Port for the Ryuk container is retrieved (will try to fork this repo, and create a patched version to add logging). @kiview is there interest with adding more debug logging to the main repo for issues such as Ryuk not starting ? If so I could conclude with a pull request
I think I realize the issue at play here, the Docker-in-Docker service is running in another container, and Ryuk is looking on "localhost", so of course it fails, I'm figuring more out.
So I think I found the issue the issue is the following :
Using a TLS connection to the docker:dind container makes it work ! The actual plugin doesn't do this, I'll see if I can get a PR there to fix this, thank you !
Describe the bug In my Drone CI pipeline, I'm not able to execute my testcontainers, I've tried a variety of tweaks to my pipeline, here's what happens there :
In this pipeline, I'm able in the last step to run docker hello world but not testcontainers. I'm logging it as "ERROR" tier just for me to see it more easily
To Reproduce To reproduce you can run the above pipeline, but in the python step you can run the following code :
Runtime environment I'm running a Drone CI pipeline, using Docker-in-Docker as a service. The error logs of the pipeline are here :
I'm thinking the targets for the Daemon between testcontainers and the underlying Python package are not the same (which is odd because I know it's a dependency). So I'm not sure why it's not coming up.