Skip to content

Latest commit

 

History

History
40 lines (23 loc) · 1.89 KB

README.md

File metadata and controls

40 lines (23 loc) · 1.89 KB

ubuntu-server-dev

Ubuntu Server cloud images packaged as a Docker container, intended for fast config management developer feedback loops

This is very clearly somewhat of an abuse of Docker, because Docker isn't really intended to run full operating systems. Something like Incus is a much better fit for this use-case - but many people will probably not have Incus installed and will therefore have a non-trivial time setting up a dev environment. Hence, Docker.

🛑 Security and support warning 🚨

DO NOT USE THIS IN PRODUCTION. I am really, really serious. Just say no.

This is intended for development environments ONLY. It does not come with any kind of support, including and especially security support. It may break at any time. Use at your own risk.

The goal is to allow for the creation of developer environments that simulate running Ubuntu VMs just enough such that you can run e.g. Ansible against the (container) "hosts". It is an explicit non-goal to perfectly replicate the behavior of a production VM (after all, this is a container, not a VM, so this is basically impossible), so you need to have some kind of sandbox/staging environment to do serious testing in. The idea behind this image is to enable a fast development feedback loop locally, because usually testing against a sandbox environment is slow and/or causes conflicts when other people are trying to test as well.

Install

$ docker pull ghcr.io/seagl/ubuntu-server-dev:24.04

Usage

$ id=$(docker run -d ubuntu-server-dev)
$ docker exec -it $id bash # You now are root inside a fully running Ubuntu Server container

Building

You will need buildah, podman, wget and curl. You will also need to have sudo rights.

Then, run ./build.sh.

Author

AJ Jordan alex@strugee.net, aj@seagl.org

License

Creative Commons Zero