Skip to content
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 base image #1050

Open
incaseoftrouble opened this issue Jun 7, 2024 · 4 comments
Open

Docker base image #1050

incaseoftrouble opened this issue Jun 7, 2024 · 4 comments

Comments

@incaseoftrouble
Copy link
Contributor

incaseoftrouble commented Jun 7, 2024

Given that we now (or: soon #1044 ) have a somewhat reliable way of running benchexec in docker, there might be some merit in lowering the entry barrier even more and providing a standard docker image.

I think with debian as base image this should be decent to maintain and appeal to a broad audience.

EDIT: Not sure how much can be accessed from inside a controller but it could make sense to also include, for example, the pqos_wrapper, cpu-energy-meter, etc. inside that image. This would make using these optional dependencies much easier.

@PhilippWendler
Copy link
Member

Just to make sure: You do not just mean shipping a Dockerfile template in our docs, but an actual image on some Docker registry somewhere?

I guess you are right that this would be nice to have.

Just the details seem more tricky :-)
For example the distribution to base this on, because in my community everyone uses Ubuntu (competitions, VMs for artifacts submissions and so on). Also issue reports here on GitHub for BenchExec feel predominantly based on Ubuntu. And then of course the question is which version, and whether we want -slim or not...

So either just something simple like "latest Ubuntu LTS" or the full combination of all supported Ubuntu LTS and Debian releases and variants?

EDIT: Not sure how much can be accessed from inside a controller but it could make sense to also include, for example, the pqos_wrapper, cpu-energy-meter, etc. inside that image. This would make using these optional dependencies much easier.

Both of these wouldn't work in a container due to raw hardware access being necessary (unless we again jump through lots of hoops to pass through the necessary stuff, which wouldn't work with rootless containers).

@incaseoftrouble
Copy link
Contributor Author

Just to make sure: You do not just mean shipping a Dockerfile template in our docs, but an actual image on some Docker registry somewhere?

Either would be good but an image on docker hub would be great I think. Then the quickstart can be even easier :D

For example the distribution to base this on

Yes, I think it would be ubuntu-lts or debian-stable. I think -slim variants would be preferred. I think on desktop systems flavors of Ubuntu are simply more common due to GUI, but there shouldn't be many differences between debian and ubuntu for a container. Both have apt and fairly similar packages. But no strong opinion.

Just one of those would be fine I think. After all, the somewhat tech savvy people can adapt the Dockerfile easily (I don't think there would be any complicated things necessary)

Both of these wouldn't work in a container due to raw hardware access being necessary (unless we again jump through lots of hoops to pass through the necessary stuff, which wouldn't work with rootless containers).

Jeah, thought so :-(

@PhilippWendler
Copy link
Member

Thanks for your opinion. Then we can easily agree on just having one image based on the latest Ubuntu LTS (there is actually no -slim for Ubuntu I just noticed). Ubuntu's official images do not provide :lts unfortunately, so we need to manually change this every two years, but this is ok. We can document that we will always make the switch after the .1 point release of the LTS release (which is also the point in time where Ubuntu itself starts suggesting upgrades).

@PhilippWendler
Copy link
Member

And to answer the question where to put the image: We haven't used the Docker Hub so far and hosted all our images on GitLab, but we now decided for a different project to start hosting the most important images on Docker Hub, so we will also do this for the image discussed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants