8 ms·
...and you don't need kubernetes or docker either...
by durnygbur 4y ago
...and you don't need kubernetes or docker either...
- groestl 4y agoAlthough second one really helps, if you need to ship Python.
- szastamasta 4y agoFirst one, I totally agree. … but Docker just makes things so much easier…
- quickthrower2 4y agoBut 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.
- wrldos 4y agoDocker only solves problems if you have a technology stack that's full of problems.
- xupybd 4y agoYes it's been fantastic at allowing our outdated legacy php app run.
- hkt 4y agoI remember first meeting docker when trying to resolve dependency hell with ruby, so, accurate.
- szastamasta 4y agoAnd also makes it easy to test with different database versions, gives you 5 minute onboarding for the new devs on team (run this docker compose and you have everything in place). Lets you test your software in exactly the same environment as in production. Switch between stack versions in no time. Etc. It really solves real problems. Not only enterprise level bullsht.
- JackFr 4y agoMultiple ephemeral UAT environments are great huge.
- wrldos 4y agoI've never seen a dev stack in docker actually work. What I see is the poor new guy spending several hours trying to get docker working and configuring private repositories that don't work, then nothing works when they finally get it up which results in the dude spending at least 2 more days trying to reverse engineer the shit show or consult little pockets of knowledge hiding in out of date confluence documents and other people's heads who are on holiday.
- dopidopHN 4y agoI’ve been in mostly dis functional software company. And … that’s not my experience. I least not lately. 10 years ago : absolutely. But nowadays it’s a docker command or a git pull then yarn/gradle/whatever … and if that does not work something is wrong and a ticket is raised.
- kristopolous 4y agoThere's so many promises with the idea of containers that simply are not filled and when they are it's the same complexity and caveats of a DIY solution. It looks tidier, it's presented with the word "docker" everywhere but you're solving the same problems in almost identical ways. Take reverts; you need commits with tags, volumes with backups, etc. Am I talking about doing it with or without docker there? Well, Both! This is what you keep discovering - you're doing the same thing in a new way; it's a presentation technology, not a simplification or task reduction one.