4 ms·
But you still need the thing that runs docker. What is that for you? And if you have to set that up anyway, why not install stuff at that level instead?
by quickthrower2 4y ago
But you still need the thing that runs docker. What is that for you? And if you have to set that up anyway, why not install stuff at that level instead?
- szastamasta 4y agoI think that even when you plan to just manually deploy dockers on raw hardware, it’s still worth it. There’s plenty of stuff you can ignore if you do so. Ex: do I test with exactly the same versions of libs/binaries that I have on production? You can also easily do rolling deployments even if you have a single machine. There’s plenty of value while staying reasonably simple. Not something you can say about k8s. It’s nowhere near simple.
- iso1631 4y agoI have an old PHP+C app which only runs on ubuntu 1804 and below And another which requires 2004 plus They both require physical access to the same hardware. I want them to coexist on the same physical machine (I can't add a second as I'm space and power constrained), and switch between them trivially and quickly. Now I haven't actually done this yet, but my feeling is I can dockerise it, push the dev files through, and run one image or another depending on what I need in a given hour.
- rlpb 4y agoYou can also do that with lxd, which will just give you nested Ubuntu and doesn't require the huge paradigm shift that Docker imposes.
- iso1631 4y agoSure I could, I assume. But there's no paradigm shift about a script doing "docker run". Or am I missing something?
- rlpb 4y agoBy default something running inside Docker is immutable and doesn't run standard system utilities. You have to make arrangements for logging, data persistence, daemon auto-restart, and so forth. It can all be done, but the necessity to do all of this differently is what I mean by paradigm shift.
- 5e92cb50239222b 4y agoI use it for some projects because it makes moving between servers really easy. If you use docker-compose and put volumes inside one directory, it involves only a few simple steps: install docker on a new machine, rsync the directory there, ssh in, and run docker-compose up. That's it. With a fast network (or small amounts of data) it can be done in 2-5 minutes. Doing it without docker requires you to maintain either 1k+ lines of Ansible playbooks (and test it regularly!), or spending a day configuring everything manually. Full backups are also trivial, if you can afford some downtime: docker-compose down && restic … && docker-compose up. If you cannot afford downtime, the docker volumes go onto a ZFS or LVM partition.
- quickthrower2 4y agoThanks. I was looking for this kind if answer. If people want to use Docker without k8s you need to do at least some of what k8s does some other way. For a single server compose sounds good. I also imagine there are a few cloud native docker services that do the kubernetying for you, hiding the complexity.
- pixl97 4y agoBecause it's nearly impossible to screw up a docker container in a matter the OS stops working. I think you'll find that most devs don't want to have anything to do with operating system management and that docker images extract that away pretty quickly and easily. Just request a VM of a particular size and setup your containers on it. No jacking with terraform or whatever.