garmin / pyrex

Seamless container setup for developing with OpenEmbedded/Yocto Project
Apache License 2.0
36 stars 29 forks source link

Can't start pyrex in LXC container #75

Open ajlennon opened 2 years ago

ajlennon commented 2 years ago

Hi,

I'm trying to get pyrex going as a GitHub action runner on a cloud box I run. This cloud box runs proxmox and I have a number of LXC containers running on it.

I've installed docker to be able to run inside the LXC container and this works for me e.g. docker run hello-world works.

I followed the instructions for running pyrex and I get this error. I wonder if this is because I have had to change the way docker runs within the LXC container to use aufs

image

All thoughts appreciated as I've love to be able to use this for builds!

JoshuaWatt commented 2 years ago

Pyrex heavily relies on bind mounting filesystems into the container to make it efficient and "seamless". Because of this, it can be particularly tricky to run Pyrex inside another container. Success will depend of if you are running DinD or DooD. I've had some success doing it with DooD, which basically means you're still doing checkouts and stuff in the container host, then passing the correct paths to Pyrex (which, may not match the paths in LXC!), but I don't really recommend it. DinD is probably quite difficult or impossible to accomplish. It does beg the question: if you have a LXC container, why do you need Pyrex? It seems like you could modify your LXC image to include all the things you need instead.