-
Notifications
You must be signed in to change notification settings - Fork 2.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
1.2.2 will not work with SysBox (error mounting "proc" to rootfs at "/proc": mount src=proc, dst=/proc, dstFd=/proc/thread-self/fd/8, flags=0xe: no such file or directory) #4542
Comments
I used 1.1.14 OK |
(I haven't yet reproduced this, just adding some information from the other bugs that wasn't mentioned in this report.) This is related to nested containers, and you're getting this error when running Docker under sysbox (I guess sysbox-runc is being used to create the container that Docker is going to run in?). |
yes, we are using runtime sysbox-runc as a runtime class in Kubernetes. E.g.:
|
Running on SysBox: https://github.com/nestybox/sysbox/releases/tag/v0.6.4 |
As a work around I was able to do this on Ubuntu to revert containerd version back to a working version.
|
thanks for breaking my CI, I love doing overtime 😘 |
If you're on CI consider changing your driver to just docker and not containerized to avoid the docker in docker - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: docker |
Happy to hear it failed in CI before you rolled out updates to your production environment. |
Sorry for sounding passive aggressive in previous comment. I really had a long day. Anyway, in my setup pinning version of buildkit helped:
|
No worries; we've all been there (pinning versions for situations where you don't want unexpected updates is still recommended though 😅). It's definitely not intentional to break existing setups, but 💩 sometimes happens, and sysbox/nestybox is a bit of a non-standard situation, which is not commonly tested against as part of upstream projects such as runc (or containerd). Perhaps a (scheduled) CI check in the nestybox/sysbox projects to test docker-in-docker with main / nightly builds of runc could be an enhancement to make in that project. On that matter, I contacted a colleague who's involved in sysbox development on our (docker's) internal Slack to ask if he was aware of this, and/or had some pointers. He's currently occupied with some other work and we have some reduced staffing during the Holidays, so they may not have immediate time to look into this, but he did point to some of the code that would likely be related. Here's his reply;
|
It seems there is a fix downstream on the way: nestybox/sysbox-fs#101 |
@thaJeztah We should probably give them a heads up when we switch to using But yes, it seems (according to nestybox/sysbox-fs#101) that the actual issue is that they weren't emulating |
Good callout, yes, probably need to keep an eye on that thanks! (cc @ctalledo FYI) |
I guess we can close this one in favor of nestybox/sysbox#879. |
Thanks folks for the help. @cyphar, regarding:
Yes correct; any sense on when Thanks! |
I can't give you a definite answer, but now that I think about it again, we will have to keep support for pre- This work is part of several other bits of related work I plan to work on next year (hopefully in time for runc 1.4):
There is a separate issue though. Both |
Hi @cyphar, Thanks for all the context, much appreciated.
Got it, that's good to know. Nonetheless Sysbox will still need to support
Thanks for the heads-up, will need to think how to deal with that. It will certainly make it more challenging, but I am confident we can make it work still. FYI, Sysbox emulates procfs inside the container using FUSE. But it doesn't emulate the entire procfs; rather it only emulates the portions that are not namespaced by the kernel (e.g., typically some stuff under |
Description
We are using SysBox in Azure Kubernetes for Docker usage in a POD. This POD runs a Manjaro Linux with runtime class sysbox-runc. This works fine until I updated the runc package. Last stable version in Manjaro Linux was 1.1.14. This version works without any issue. Manjaro has had a new release last weekend so the version of runc was updated to 1.2.2.
After updating to version 1.2.2 I could not run
docker run hello-world
. It fails withSee: containerd/containerd#11083
Steps to reproduce the issue
Describe the results you received and expected
docker run hello-world should run
What version of runc are you using?
1.2.2
Host OS information
NAME="Manjaro Linux"
PRETTY_NAME="Manjaro Linux"
ID=manjaro
ID_LIKE=arch
BUILD_ID=rolling
VERSION_ID=rolling
ANSI_COLOR="32;1;24;144;200"
HOME_URL="https://manjaro.org/"
DOCUMENTATION_URL="https://wiki.manjaro.org/"
SUPPORT_URL="https://forum.manjaro.org/"
BUG_REPORT_URL="https://docs.manjaro.org/reporting-bugs/"
PRIVACY_POLICY_URL="https://manjaro.org/privacy-policy/"
LOGO=manjarolinux
Host kernel information
Azure AKS
K8S 1.29.9
Kernel 5.15.0-1071-azure
The text was updated successfully, but these errors were encountered: