Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

This looks cool, but what's the dev environment like?

I think Ubuntu is a popular base image in Docker because Ubuntu is popular for engineers to use on their desktops

Debian usually passes for Ubuntu, since the package names are mostly the same.

So either you do all your development in containers, or you have drift between the dev environment and the cloud.



> Debian passes for Ubuntu

Ubuntu passes for Debian, you mean. Debian has been around much, much longer than Ubuntu and set the standards Ubuntu got for free and commercialized.


Yes I know, but Ubuntu seems to be more popular as a desktop

What I mean is that people just hack on stuff on their desktop. They install Python NumPy or Rails or whatever. Like gigabytes of dependencies.

And then they want to deploy.

Is it easy to do that with Flatcar Container Linux? How do I do it?

Or is it easier to make a Docker file that does apt-get install X and pip install Y ?

You can do that with Ubuntu as a base image, and Debian usually "just works" if you're on Ubuntu. (I'm doing this with our Debian CI images)

Not saying you should always take the easier path, but I also think it's a good idea to minimize the differences between the dev environment and production


It's intended for a workflow where you build docker containers, and deploy docker containers, so the environment is identical. If all you deploy is containers, it makes sense for the host OS to be as small as possible, and as immutable as possible.


My understanding is that flatcar is for running your docker containers, not necessarily for building them.


True, but devs like me started with Ubuntu. Then years later we see a Debian docker image and wonder how different it will be. Mostly the same, for the reason you mentioned.


The intention is to do all of your development in containers, in whatever environment you choose, and then deploy the containers into production on a Flatcar cluster.


As Flatcar is a very minimal, immutable distribution to run containers / Kubernetes, our development environment (aka the "Flatcar SDK") is containerised too.

Flatcar releases are tied to git commits in our distro automation repo; so to develop for Flatcar, one would:

1. clone the distro automation repo

2. check out the release version one wants to develop for (tag or branch)

3. starts the SDK container via a wrapper script in the repo

This enables Flatcar development across all distros that run git, and docker or podman (it even works on WSL if one is inclined to use it that way).

More information here: https://www.flatcar.org/docs/latest/reference/developer-guid...


Flatcar is a host OS to run containers. It is not a base OS to build containers.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: