Local development environment

I made my entire (Linux) dev environment inside a KVM/QEMU virtual machine. I keep my provision files, IDE, everything inside it. It's very fast and it auto syncs to my NAS so I never lose data. In the past I had a Vagrant setup but I loathed it.
Docker is very popular but I always had this gut feeling that it would crash and burn (in favor of something simpler) but it hasn't happened. Only time I used was in a Kubernetes deployment.
-
So Jow Forums, what do YOU use for LOCAL development? I use Linux on both host and guests. Should you take a look at Docker again? Anything else? Maybe I'm retarded but I like the extra isolation of keeping the files inside a VM, just in case my pc gets compromised.

Attached: abandonware.png (680x331, 31K)

Other urls found in this thread:

virgil3d.github.io/
wiki.archlinux.org/index.php/QEMU/Guest_graphics_acceleration
github.com/moby/moby
twitter.com/NSFWRedditImage

Well docker will use less resources and it's not a full VM like vagrant, it just runs as an application. if I just want to run a containerized application I would do docker but if I need a full-fledged server then I would use vagrant or KVM.

why would someone use docker instead of just venv for python? I´m asking out of ignorance.

> Maybe I'm retarded but I like the extra isolation of keeping the files inside a VM, just in case my pc gets compromised.
Because you code too much? If you infect the host, VM images may be corrupted as well. Use git and stop this retardation.
Although I use separate chroots for building stuff, but only because dynamic linking suggests I should use different OSes to build for their version. For webdev, it's just retarded, may as well use a Mac.

Well I use Python, PHP, Ruby, JS and more. I keep everything behing nginx in a folder with a couple of wildcards and it's very easy to manage. With Docker, doing "the right way", I would have to manage a lot of dockerfiles and instances IIUC.

What are you talking about. I'm using git and many of the stupid Best Practices in development. I was talking more about I don't know, getting data stolen that a client might sue me after. Not about corruption, I have live backups, snapshots and git.

stupid question here:

when you refer to your "dev environment", do you talking about your dev programs (ide, configuration files and programs like git or others) or also programs and dependencies that the app you're developing needs?

Everything, really. When you use a lot of different tech it gets annoying. Languages, package managers, IDEs (jetbrains), databases, deployment helpers, legacy programs, etc.

If you want to test your module with 10 python versions you have to install all 10 of them, or use docker images.

I'm a webdev, we run 120+ microservices, it wouldn't really be possible to do without docker.

> we run 120+ microservices
> it wouldn't really be possible to do without docker
Because you can't ever propose any alternative container engines without searching right now. When you don't know any other software, of course you'd tell everybody that Docker is the thing.

The user you're replying to is not me (OP) but I think it's better to stay with the most popular tech because it's easier to find solutions to edge cases. And you'll find plenty about Docker.
What's your setup?

Docker devs are faggots who change their core tech once every other year because oh no, there's a bug and we should do something.
> LXC
> libcontainer
> runc
> containerd
> ???
> What's your setup?
OpenVZ and LXC background, participating in slowly adopting Docker and hate its guts.
> cross-platform
"dude just run a Linux VM and call it cross-plarform lmao"
> stateless
For no reason devs decide to add a fuckton of complexity because Docker containers are stateless.
Before: run CI agent and write some bytes to a filesystem
Now: run CI agent and write some bytes to a filesystem. Rebuild image. Stop containers. Fuck, 502. We need something to avoid downtimes created by Docker. Let's introduce K8s to create clusters and pay more to do the same. At least no more 502 during deployments.
WHY
> one process per container
This, just like the previous paragraph, is Docker "ideology" conflicting with demands of the real world. Admins add SSH to Docker containers, add less and shit to analyze logs - clearly process containers aren't as simple in practice.
> but dude, why do they use Docker still?
If devs would take time to write Ansible scripts in Linux VM on their Macs, it would do exactly the same, with the same overhead Docker has. It's only because it packed VMs in its installers and promoted by people like you, that's why it has gained traction. Ease of use, but supported by queers who should die in a plane crash.

This is about local development environment but I'll see what still applies, thanks. I'd rather take a pay cut than to manage docker/k8s/etc in production.

Absolutely based and redpilled

I tried Docker but hated the whole stateless thing. Now use LXD for anything that could shit up my base system and it's great.

vagrant is a joke

FUCK DOCKER REEEEEEEEEEEEEEEEEEE

as someone working with k8s and docker daily. pretty much this.

Attached: 1470862389540.gif (256x192, 1.59M)

>a webshitter who is clueless and thinks Docker is required to do this
Wow. I'm so unbelievably shocked.

Attached: 1415012959814.jpg (500x370, 12K)

docker is the only thing used now in the industry

Any project utilising vagrant is very legacy and clearly nobody takes care of the tech debt

Docker has only gained traction because system administrators have gotten lazy as fuck. Now that everything has moved to the god damn cloud they don't have to install hardware, so why the fuck should they install software either. If it was up to the SA's at my company I would have to package an AMI as a deliverable which they would install with a click on the AWS control panel and the go back to watching Loli porn for the rest of the day.

just imagine having tens or hundreds of projects each with its own virtual environment

Attached: 1558136274143.jpg (1278x993, 121K)

OP, can you explain in more detail how you made the KVM/QEMU VM?
Is KVM by itself sufficient?

How do you get your VMs to not run like ass without a GPU pass through? Ironically, my Windows 10 VM with virtio drivers runs better than any Linux VM.

Did you install the virtio drivers in the Linux VM as well?
virgil3d.github.io/ may also help.

I could only find Windows versions of the virtio drivers.

>If you want to test your module with 10 python versions you have to install all 10 of them, or use docker images.
Well, don't you need 10 images anyway? What's the difference?

>So Jow Forums, what do YOU use for LOCAL development?
I'm learning Guix currently. So far just managed the mess manually.
>Maybe I'm retarded but I like the extra isolation of keeping the files inside a VM, just in case my pc gets compromised.
Do you somehow encrypt VMs? Do you think they wouldn't get compromised if you PC gets compromised?

qcow2, Spice/QXL, VirtIO everything, bridged macvtap, private vnet for host communication. Use virt-manager, KVM, QEMU if you want the vbox experience. But do learn the CLI amazing tools and Red Hat has decent documentation on everything. E.g. qemu-img, virt-df, virt-sparsify, virsh. Soon VirtIO-FS and more improvements.
I don't run any GPU intensive programs and I use Wayland wiki.archlinux.org/index.php/QEMU/Guest_graphics_acceleration

Docker is the way to go.

for local can you make generic containers like one for mysql, other for pgsql. or one for php7 and other for 5. instead of going on a per app route? i dont want to think, me brain hurts

Just install packages on your host os lmao

All these tools you are using aren't designed for what you are trying to do

bump

mentioning Docker in public is the same as mentioning anal plugs and electric dildos - a sign of stupidity and retardation

>t. neet
>IDE
>needing isolation for development tools

>>IDE
>>needing isolation for development tools
not op but have you paid attention to how fucked it the whole thing is? especially js shit, there's CVEs, bugs and weird insecure decisions all the time. like even the most mundane web app pulls 5000 dependencies and makes me hate everything about modern development
and dev tools are full of botnet, like even extensions for text editors have telemetry now, cloud cli daemons phoning home all the time

I use a KVM Arch VM that's hosted on my proxmox r410, but I build all applications Docker-first and then deploy on my Rancheros r410

Works great desu

how is the filesystem sharing handled by docker? if I want to share ~/projects with a container does it use nfs or some bullshit?
fucking vagrant had terrible file sync latency when I was forced to use winblows@host, and half the time epoll and file watchers weren't properly detected so js was a nightmare

Attached: doger.jpg (941x1024, 184K)

Yes Docker is so good.

t. same settis

what the fuck is this? github.com/moby/moby