8 ms·
In its weird death spiral, if Docker Inc. were to be bought out by Microsoft, I shudder to think how much of the dev ecosystem would yet again depend on Microso
by sirius87 4y ago
In its weird death spiral, if Docker Inc. were to be bought out by Microsoft, I shudder to think how much of the dev ecosystem would yet again depend on Microsoft's good graces to shoulder the burden of storage and data transfer costs for building products. They already do npm and Github (+ Github Container Registry) so they have some standing in being stewards in this space.
On the plus side, it would perhaps give enterprises more confidence about their build pipelines remaining dependent on Docker Hub, maybe even being more comfortable paying for it.
On the flip side, far too much of the dev ecosystem would depend on Microsoft, the famed supervillain of open communities. EDIT: With that sense in mind, I am indeed rooting for Docker Inc. to succeed.
- BossingAround 4y ago> if Docker Inc. were to be bought out by Microsoft... You can always use Podman. We already have fully OSS solutions in the container space.
- sirius87 4y agoWhere do you host the base images? Someone's footing that bill or are you paying for it?
- krab 4y agoWhy not decentralized? Debian (for example) can provide one or two servers with a gigabit line. That's going to be quite slow to download during every CI build. Therefore, your CI provider would have a caching proxy registry. You get fast service, upstream doesn't need a ton of bandwidth.
- sirius87 4y agoDocker images are often tied to CI runs. So a Github action is configured to "bake" a docker image that saves the image to Github Container Registry and a CI platform is triggered to pull the image and run tests immediately thereafter. Imagine this happening on every Git commit in a certain branch. Often, there isn't time for an image to be pulled from a mirroring serving.
- krab 4y agoI meant the base images. If you're pushing your own images, then you can use any service you want (and pay for it). Since the traffic doesn't need to go through the internet at all, the bandwidth cost to Dockerhub would be irrelevant.
- sirius87 4y agoBase images are already available on different container image hosting platforms. For instance, ubuntu is here [1] on Amazon ECR. So it's matter of updating Dockerfiles to use them. There again there's the question of finding image sources you can trust to be updated and secure. Docker Hub has a "Docker Official Image" tag for critical base images that are managed by each community. [1] https://gallery.ecr.aws/ubuntu/ubuntu https://gallery.ecr.aws/ubuntu/ubuntu
- krab 4y agoThat's my point - that it's entirely possible to not rely on the single central repository. Re. finding the sources, a central namespace may still be useful, hence the use of caching proxies.
- 8n4vidtmkvmk 4y agopodman runs or builds containers? as far as i understand it docker desktop does 2 or 3 different things and i haven't managed to untangle that yet because it hasn't fully broken my workflow yet. getting more and more tempting to remove it but i need something for my weird windows+wsl setup
- Kwpolska 4y agoDocker Desktop runs dockerd in WSL and adds a few things to enable working with it from Windows (e.g. installs the docker CLI on the Windows side and exposes the dockerd control socket to it). You can easily get rid of it and replace it with running dockerd in WSL on your own, or with podman-based tools.
- tyingq 4y agoDocker did do something smart with Docker Desktop by including wsl-vpnkit...to work around brain-dead corporate VPNs that break docker networking. Your alternative solutions don't work when AnyConnect or GlobalProtect, etc, are running.
- ironick09 4y agoThis is only partially true, if _all_ traffic is tunneled over the vpn, then yes you’ll have this issue, but if the traffic is split such that only interesting traffic is sent over the vpn, then you won’t have this issue.
- tyingq 4y agoYes, though the end user has no control over that knob...the corp end can turn off split tunneling and it's off by default.
- OJFord 4y agoAWS Client VPN breaks it just by having ever run, even if not currently active, as it sets `sysctl net.ipv4.ip_forward=0` 'for you'. My suspicion is that since you pay for client connections, they don't want you running a single bastion client and having your real clients connect via that. But it's annoying, and if you really wanted to do that, you only have to edit the script, or set it back on a schedule/after starting up the client.
- koito17 4y agoOn my personal computer and projects I always use Podman. There is even a fancy web app if people desperately want a cool icon on their menu bar, though it pales in comparison to Docker Desktop in features. (For instance, it's not able to search for images, whereas Docker Desktop can). I do not miss Docker at all considering that I can copy paste almost every docker invocation I see online and have it run flawlessly with Podman. Unfortunately my workplace will probably never even consider trying out Podman as a replacement to Docker. I wonder if someone here has a nice anecdote of using Podman successfully at their workplace.
- kuratkull 4y agoWe are now on the Podman train. We used Docker for a while on some parts of our services. We did a thorough comparison of Podman and Docker when it was time to move over all the rest of our legacy-deployed services. Podman won out on many technical, subjective, and future-looking topics. Feels good, everybody is on board here.
- yrro 4y agoBig ask but I'm sure that would make a fantastic blog post...
- BossingAround 4y agoSince you seem to miss the GUI, have you tried Podman desktop?
- jacooper 4y agoCall me when podman fully supports the Compose spec(so Docker compose V2)
- yrro 4y agoPodman speaks the Docker API these days so you can use docker-compose with it.
- jacooper 4y agoWith no support for starting containers on startup using `restart: always` or buildkit
- jacooper 4y agoRestart support was added using `podman-restart` https://github.com/containers/podman/issues/17580 https://github.com/containers/podman/issues/17580 Buildkit needs a full API implementation https://github.com/containers/podman/issues/13889/ https://github.com/containers/podman/issues/13889/ https://github.com/containers/podman/issues/11780 https://github.com/containers/podman/issues/11780
- eastbound 4y ago> I shudder to think how much of the dev ecosystem would yet again depend on Microsoft's good graces to shoulder the burden of storage and data transfer costs for building products Does that hint that the model of sending around megabytes-to-multigigabytes of VMs is inherently too expensive to maintain as a backbone for an awesome tool? For the same reason, I wonder why provides Maven Central and NPM repositories, whether they will do it for free, but at least those are billions of small jars, not hundreds of thousands of gigabyte-sized VMs.
- sirius87 4y ago> model of sending around megabytes-to-multigigabytes of VMs is inherently too expensive Yes. I think automated build pipelines running 24x7 that could request even for the oldest version of a sizable image without caching at their end is part of the issue. There was no limit that I'm aware of on the no. of tags/versions per image or per OSS account on DockerHub, so just like package repositories, effectively every image had to be available forever and each image was of significant size. I don't believe storage and network tx costs have reduced at the same rate as increase in adoption of build pipelines and automation. Same issue exists for apt, NPM, Maven, PyPi, or any other repository, but yes, the storage requirement should be significantly smaller. Aside: Because Java has been around for so long in enterprises, many have learned over time to set up registries internally - a combination of wanting to host private packages securely on prem and protecting from downtime, supply-chain attacks. JFrog Artifactory is pretty commonly seen. However, IIRC npm registry was not easy to self-host on prem in the early days, and many enterprises had their private packages hosted on npm.
- Datagenerator 4y agoThe ISO mirrors of every Linux / BSD* have been successful for decades. Decentralized repositories could solve many problems. Add Bittorrent as acceptable usage pattern like the free AI community is using to solve it even further, the Internet was not designed to be centralized IMHO.
- fweimer 4y ago
- 8n4vidtmkvmk 4y agothey're hosting npm now? i didn't know
- johannes1234321 4y agohttps://github.blog/2020-03-16-npm-is-joining-github/ https://github.blog/2020-03-16-npm-is-joining-github/ https://news.ycombinator.com/item?id=22884586 https://news.ycombinator.com/item?id=22884586
- Dalewyn 4y ago>Microsoft, the famed supervillain of open communities. FOSS: "Never thought I'd die fighting side by side with Microsoft." Microsoft: "What about side by side with a friend?" FOSS:
- pjmlp 4y agoSince Azure became the most relevant platform for Microsoft business, DevDiv now under Azure organigram, has turned into a polyglot unit, not only about .NET and C++, rather anything that can bring developers into Azure. Who would imagine that 20 years later, Microsoft would become yet again a Java vendor, with their own OpenJDK based distribution and upstream contributions to ARM JIT, and escape analysis improvements?