-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docker in docker actions no longer work in version v0.27.2 and v0.27.3 #2519
Comments
Hello! Thank you for filing an issue. The maintainers will triage your issue shortly. In the meantime, please take a look at the troubleshooting guide for bug reports. If this is a feature request, please review our contribution guidelines. |
Can confirm the same problem on our organization. Had to revert to 0.27.1 |
Probably introduced inside 878c9b8 |
Hey @mrparkers @LorenzoRogai! Thanks for the detailed report. I can definitely see
It's still at I'll try to see how we could fix it. Perhaps we might just default to |
@mumoshu Similar problem exists for
But all the containers executed on this runner:
Are trying to bind non existing
As a result docker inside such containers does not work:
|
Hey @m-barczyk! I was going to fix this via #2536, and yours seem to require a completely different fix. |
Hey @mrparkers @LorenzoRogai, some good news here- I think I was able to reproduce the issue locally, and #2536 fixed it for me. |
Starting ARC v0.27.2, we've changed the `docker.sock` path from `/var/run/docker.sock` to `/var/run/docker/docker.sock`. That resulted in breaking some container-based actions due to the hard-coded `docker.sock` path in various places. Even `actions/runner` seem to use `/var/run/docker.sock` for building container-based actions and for service containers? Anyway, this fixes that by moving the sock file back to the previous location. Once this gets merged, users stuck at ARC v0.27.1, previously upgraded to 0.27.2 or 0.27.3 and reverted back to v0.27.1 due to #2519, should be able to upgrade to the upcoming v0.27.4. Resolves #2519 Resolves #2538
|
Checks
Controller Version
v0.27.3
Helm Chart Version
v0.23.0
CertManager Version
v1.11.0
Deployment Method
Helm
cert-manager installation
I followed the installation instructions and I installed cert-manager from an official source.
Checks
Resource Definitions
To Reproduce
Describe the bug
A change in v0.27.2 caused
docker
within Docker-based actions to stop working, due to the docker socket being mounted to a different location.Here is all of the information that I provided in a previous comment:
In v0.27.2, I've verified that the runner pod is still able to use
docker
just fine:However this container isn't able to use
docker
, despite this working in v0.27.1:I think this is broken because GitHub Actions automatically mounts the docker socket for docker-based actions, but it assumes that the docker socket is available at
/var/run/docker.sock
, which is no longer the case as of v0.27.2:It's easier to see in the JSON returned via
docker inspect
:This mount isn't correct anymore - the source should be
/var/run/docker/docker.sock
now. Unfortunately, it doesn't seem possible to override this via GitHub actions (actions/runner#1754).I was not able to use a tool like
socat
to make the socket available in the expected location. Symlinking the socket also didn't work, as I expect that I would have to also mount the directory where the symlink points to.Describe the expected behavior
Invoking
docker
within a Docker-based action should work, as it did in v0.27.1.Whole Controller Logs
Whole Runner Pod Logs
The text was updated successfully, but these errors were encountered: