8 ms·
This reminds me: in 2015 I went to Dockercon and one booth that was fun was VMWare's. Basically they had implemented the Docker APIs on top of VMWare so that th
by xahrepap 4y ago
This reminds me: in 2015 I went to Dockercon and one booth that was fun was VMWare's. Basically they had implemented the Docker APIs on top of VMWare so that they could build and deploy VMs using Dockerfiles, etc.
I've casually searched for it in the past and it seems to not exist anymore. For me, one of the best parts of Docker is building a docker-image (and sharing how it was done via git). It would be cool to be able to take the same Dockerfiles and pivot them to VMs easily.
- verdverm 4y agoThey might have built it into Google Anthos as part of their partnership. I recall seeing a demo where you could deploy & run any* VMWare image on Kubernetes without any changes
- All4All 4y agoIsn't that essentially what Vagrant and Vagrantfiles do?
- xahrepap 4y agoYes, which is what I'm using now. But it doesn't use the Docker APIs to allow you to (mostly) reuse a dockerfile to build a VM or a container. not sure if it would be better than Vagrant. But it was still very interesting.
- hinkley 4y agoWhat is your theory for why Docker won and Vagrant didn't? Mine is that all of the previous options were too Turing Complete, while the Dockerfile format more closely follows the Principle of Least Power. Power users always complain about how their awesome tool gets ignored while 'lesser' tools become popular. And then they put so much energy into apologizing for problems with the tool or deflecting by denigrating the people who complain. Maybe the problem isn't with 'everyone'. Maybe Power Users have control issues, and pandering to them is not a successful strategy.
- pphysch 4y agoThe easier it is for a technology to accidentally make it into production, the more popular it will be
- duskwuff 4y agoWhat turned me off from Vagrant was that Vagrant machines were never fully reproducible. Docker took the approach of specifying images in terms of how to create them from scratch. Vagrant, on the other hand, took the approach of specifying certain details about a machine, then trying to apply changes to an existing machine to get it into the desired state. Since the Vagrantfile didn't (and couldn't) specify everything about that state, you'd inevitably end up with some drift as you applied changes to a machine over time -- a development team using Vagrant could often end up in situations where code behaved differently on two developers' machines because their respective Vagrant machines had gotten into different states. It helped that Docker images can be used in production. Vagrant was only ever pitched as a solution for development; you'd be crazy to try to use it in production.
- mmcnl 4y agoDocker is not fully reproducible either. Try building a Docker image from two different machines and then pushing it to a registry. It will always overwrite.
- egberts1 4y agoOoooh, “it will always overwrite.”: this is like saying an indirect way of saying that your executable will behave exactly the same if it got overwritten (by a same set of bytes). Good one.
- ParetoOptimal 4y agoDockerfiles pervasively use things like `apt-update` and that makes them not reproducible. Even of your image pins apt or yum, images you depend on likely don't. Docker is repeatable, not reproducible.
- mmcnl 4y agoYou are talking about declarative configuration of VMs. Vagrant offers that, right?
- P5fRxh5kUvp2th 4y agoeeeeeh....... yes, but then again ... no. I mean ... yes Vagrant does offer that, but no would I ever consider Vagrant configuration anything approaching a replacement for docker configuration.
- llllIIIIllll 4y agohttps://github.com/weaveworks/ignite https://github.com/weaveworks/ignite can apparently do this. It looks exciting!
- xahrepap 4y agoThis is really cool! Thanks for sharing. Though the naming is strange since Apache Ignite exists already. But I’m definitely going to play with this.
- naikrovek 4y agogithub.com/cirruslabs/tart does this for macos VMs. you push them to and pull them from OCI registries.