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

I am curious about startup / deployment times?

When I a deploy WAR-file it, it is fairly small (just app + dependencies), and startup / shutdown is well-defined and happens fast, allowing me to update an application with just a few seconds downtime. But here - how fast would an update be? How much downtime? Does it reinstall the os, the vm, the app, are the shutdown / startup operation well defined or does the process just get killed?

Wouldn't it take quiet a bit of work just to match what you get out of the box in a traditional setup?



Yes to what kimdotcom says - blue/green is the only real sane way to do it with minimal/no downtime, and that strategy/recommendation is good even if you're not running in Docker. If you're just doing cowboy deploys and accepting a few seconds of downtime while the new war file explodes and tomcat starts up, then Docker won't add any noticeable overhead of its own.

> Does it reinstall the os, the vm, the app,

No. First, "reinstall" isn't the right word. The "OS" is baked into the container. There is no vm, Docker is not a vm. It doesn't re-install the app, it's starting it up in a new container. All your deploys are likely doing is pulling a new container image or layer (about the same size as your war) and calling `docker run` which could be more or less the same as `java -jar...`.

> are the shutdown / startup operation well defined or does the process just get killed?

There is a well-defined container lifecycle that iirc sends SIGTERM by default. This is similar to what systemd or similar would do.


You would bring up a 2nd container with the new code, map the traffic to this container, and once you are sure it is good, trash the old container.

If there is a problem with the new code, just point the traffic back to the working container and kill the new container.


So it is so slow you have two spin up a second node :-D




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: