8 ms·
We Need to Talk About Docker Hub
- honestSysAdmin 2y agoSeemed like "everyone" switched to Podman and Buildah over two years ago. Nothing screams "amateur and clueless" like still using Docker.
- henriqueandres 2y ago[dead]
- Jackosas 2y ago[dead]
- TZubiri 2y ago[flagged]
- hobofan 2y ago> It's a naturally vendor neutral tech so migrating should be trivial. So are the OCI standards that grew out of Docker and now are mostly used separate from (official) Docker. Is there even a vendor neutral VM image format?
- regularfry 2y agoYeah, raw disk images. If you give me a block device, I can boot off it. Slightly less trivially, anything qemu-img handles should probably be considered at least in the neutral direction, if not actually neutral.
- TZubiri 2y agoThe standard would be BIOS/UEFI, and Partition schemas like GPT/MBR in that case. However it's not always the case that you can just raw copy with dd some OS and expect it to function. OS integrate with hardware and installation can produce a unique binary OS specialized for that hardware. If you can magically dd an OS or swap an OS disk from machine to machine, then it's because of OS and kernel dev magic and can cause problems down the line. In reality the best solution in my experience is to deploy an installation process, which usually is provided by the Host provider directly, and then run my own installation steps on userspace. The fact that this process might be slower or involve human steps is more often a feature than a bug, and it's not something that can be solved by containers (someone has to fire up the host VMs when there's too many containers too). You can always use providers that automate new vm and even hardware deployments like AWS if you really need intra-day deployments.
- regularfry 2y ago> it's not always the case that you can just raw copy with dd some OS and expect it to function. No, and that's not the context here. > The standard would be BIOS/UEFI, and Partition schemas like GPT/MBR in that case. I think the trick of wedging an MBR into the first sector of an ext2 partition with extlinux as a bootloader should still work. You really don't need much.
- TZubiri 2y ago>Is there even a vendor neutral VM image format? The vendor neutral standard is the Operating System. You don't need the format of the OS at disk to be standardized, that assumes a wild misconception of OS. The OS integrates with hardware so you typically can't just copy an image between different machines and expect it to work, what's standard is the installation procedure which can be part OS provided and part hardware manufacturer/host provided. Yes the process for installing the operating and configuring system is a bit of glue that might not be vendor neutral, but if you are obsessing over that and spending time with stuff like terraform you are missing the forest for the trees. It's like open source zealots complaining that github is closed source. You are 99% of the way there, forget about the 1% last mile and just port it manually.
- oftenwrong 2y agoOCI image _is_ a vendor neutral VM image format; the runtime spec includes facilities for running VMs: https://github.com/opencontainers/runtime-spec/blob/main/config-vm.md https://github.com/opencontainers/runtime-spec/blob/main/con...
- sealeck 2y agoI don't think this is very helpful when it comes to the issue in question.
- TZubiri 2y agoWell the issue in question is complaining about something that they are not paying, so my solution is not to use the thing they are not paying for instead of complaining about it to the wind. Pretty basic stuff. Just in general why would you want to depend on something that you are not paying for? Isn't that a huge vulnerability vector? There's some very few exceptions where we do this like with the linux kernel, maybe you do it with the OS, but adding a third layer is just getting into npm levels of carelessness. It's one thing to slap on free (as in beer) dependencies for convenience sake at the application level, but dammit have some respect for the OS layer.
- ricardbejarano 2y agoRun your own registry.
- baq 2y agoThis also applies to any package manager repository you might be using. JFrog charges loads of money for Artifactory, btw
- XorNot 2y agoThere are plenty of open source registry implementations though, including just running "distribution" from Docker. The format is not hard to implement either for basic storage.
- baq 2y agoThe point is Artifactory has basically all popular (and some not very popular) repository format support built-in while supporting serious traffic, sharding, replication, etc. so you don't have to hunt for and then maintain anything. They've got a good tool, it's just expensive.
- marginalia_nu 2y agoReposilite is a nice and easily deployed alternative.
- TZubiri 2y agoOr run no registry. Here's a port from a Dockerfile to just a vm: FROM Debian CMD apt-get install thing CMD curl blabla/install.sh Pretty much converts to: aws-cli ec2 launch-instance ssh user@server apt-get install thing ssh user@server curl blabla/install.sh In general, everytime you dispense of a high level abstraction, the solution is not to replicate the high level abstraction, but to build directly at a lower level abstraction. If you want to replace burgers, just buy a slab of meat and put it in the fire or bake your own bread. You don't need to make preservants and buy artificial sweeteners, etc...
- concerndc1tizen 2y agoIf you don't like it, then why don't you use a different provider? If you want free stuff, is your strategy to smear them into giving you more free stuff? Storage, compute, and traffic, isn't free. You've been the beneficiary of charity for years. Yes, the open source community has relied on this implicit charity as a parasite, by exploiting whatever free services they could. And now we're paying the price, as you say, by having DockerHub as the default provider. My suggestion is therefore that we need independent solutions, that are fully funded as a charity, and stop relying on freemium services from corporations that fundamentally don't care about the public good.
- sealeck 2y agoThis is really a question of framing. The other way you can look at it is: Docker has benefitted from a community adopting its products, and developing software that makes Docker more useful. As someone who sells Docker services, you benefit from a greater market size. It's like how WordPress have benefitted from people authoring plugins – even though wordpress.org has hosted them for "free", this has been good commercial sense as it allows them to sell more WordPress.com to people.
- concerndc1tizen 2y agoAnd once those services are fully developed, and the market is captured, do they still need to provide free services? Isn't compatibility issues a major problem for alternative registries?
- yjftsjthsd-h 2y ago> Isn't compatibility issues a major problem for alternative registries? Er, is it? I've used a handful of different registries and never hit anything that even resembled a compatibility problem. Have I just been lucky?
- aspenmayer 2y agoOne example that springs to mind is Homebrew/MacPorts. I think they install things differently and might not be interoperable?
- openplatypus 2y agoThat's why for Wide Angle Analytics we use OVH hosted registry. Ours is private. You can make your public. We control our image registry. So should you.
- onefiveone 2y agohttps://github.com/orgs/linuxserver/packages https://github.com/orgs/linuxserver/packages
- akudha 2y agoI don’t understand why companies/people don’t respond. Apply for a job, they talk to you for months and stop suddenly. Go on multiple dates, then the person stops responding. Etc. A simple polite “we’re not moving forward with your application” email is better than silence. How hard can it be to show some basic decency and courtesy?
- tuyiown 2y agoI think you're underestimating how explicit rejection triggers awful behavior to seemingly way too many people, so one can be wary of releasing it, plus the fact that rejecting others is not easy for people, automating it seems dehumanizing, so the things stays as they are, so silence it is. I've been related several times about people that wanted explicit reasons of why they've been rejected, and ending up mad at the (perceived as dishonest) hard truths they've been told, and anything said delicately can be dismissed, seen as cryptic or even displayed as hypocrisy. Courtesy is hard, and all are not well equipped to see it when it's given.
- arcbyte 2y agoYou're 100% right. Still, i think we should expect better of companies and candidates on both ends.
- joshstrange 2y agoThis 100%. I managed a hiring process last year (my first) and from the outset I wanted to make sure I let every applicant that we talked to know if we had decided to pass. It was a lot easier said/thought than done. That email is horrible to send. My stomach dropped out every time I hit “send”, for exactly the reasons you stated. I dreaded the replies which often included some kind of “Why?” question. I completely understand where the candidates are coming from. They want to know what they did wrong and how they can improve. On the surface this seems like an easy thing to do, but in my experience, it’s more like opening a can of worms. How do you tell someone “I’m sorry, you’re too junior, try again in a few years” or “your entire personality was off-putting/rude” or “you spent an inordinate amount of time in the interview tying to convince me I was wrong about tabs vs spaces and even sent me a follow up email citing more reasons” or “You told me you worked with PHP 6 when I asked you what version you had used” [0], or “you couldn’t remember if you used Angular 1 or 2+” [1], or “you told me you had a great memory then proceeded to say ‘I don’t know’ and ‘I don’t remember’ to 90% of my questions”…. The list goes on When sending a rejection letter the best case scenario is that they say “thank you” and move on (or don’t reply at all). Worst case scenario, they start asking follow-up questions which I feel obligated to respond to, they get irate, and/or they attempt some kind of bargaining/arguing. I’m not going to say I’d never do any of these things myself (however unproductive) but it shocks me that some people think they can change your mind by arguing about why you passed on them. It’s all very uncomfortable and feels like you are navigating a field of land mines. [0] PHP 6 never was released, it went from 5->7, though you can find books on “PHP 6” because they were printed before it was clear the version was going to be skipped. [1] Angular 1 vs 2+ is essentially a completely different framework. Anyone working in web tech should be aware of that fact.
- ilaksh 2y agoI think they have a valid complaint about that open source program Docker is running and lack of response, but the overall tone seems like they are scolding Docker for not giving away it's services for free. I have always felt that was strange how quickly people started taking Docker for granted, while simultaneously relying on them completely but also somehow dismissing their core utility as a trivial and unsophisticated layer or something. It's like they never really got credit from most people on HN or are worthy of getting paid, even though most everyone uses their technology.
- bayindirh 2y agoFWIW, I have a personal Docker license, but I avoid containers where I can (because containerizing everything by default has its own set of problems). I use containers as "very fat, stateless" binaries which are run when I need to do something (generate a webpage, take backups, etc.). People got Docker for granted because startups and modern sysadmins absolutely despised installing software on physical or VM servers. On tech side, Vagrant was making VMs easier, plus BSD had jails, and Linux needed something similar. So they found a legit gap in the stack, and timed it well. Who wants to spend 3 hours to install a service while they can make it appear out of thin air in 40 seconds and deal with the shortcomings and consequences later, or containerize an application, disregard hard requirements and tell "just add an X container in front" (I'm not telling that this is good, BTW). So Docker spread like wildfire and graduated to invisible/boring tech in 3 months straight. Then when the people demanded money from developers for what they built for them, people grabbed the forks, or created literal forks of the software. I support the latter approach, not the former one. However, if they advertise a DSOS program, they should do what it entails. Be transparent, fair and open about it.
- curt15 2y agoContainers took off because it was the easiest way for developers targeting Linux to get a predictable runtime environment. It freed them having to worry about the differences between Debian's OpenSSL or Red Hat's OpenSSL libraries or even the differences between different versions of a distribution. You don't see nearly the same level of uptake among Windows developers because not only is there only one Windows API for everyone to target but also Microsoft is willing to bend over backwards to preserve backward compatibility. Containers also predated "modern sysadmins"; prior to docker, Google ran its prod software in chroots for the same reasons as above: >The software run by the server is typically run in a chroot with a limited view of the root partition, allowing the application to be hermetic and protected from root filesystem changes. We also have support for multiple libcs and use static linking for most library uses. This combination makes it easy to have hundreds of different apps with their own dependencies that change at their own pace without breaking if the OS that boots the machine changes. https://www.usenix.org/system/files/conference/lisa13/lisa13-merlin.pdf https://www.usenix.org/system/files/conference/lisa13/lisa13...
- Kovah 2y agoI'm absolutely stunned by all the negative comments in here bashing the Linuxserver project. "Run your own registry", "you get everything for free be grateful", and so on. What the hell is wrong with you? They are a couple of guys trying to make software more accessible to thousands of people. Indeed it's a large project and one may question if they should get _everything_ for free. But that's not the point of this article. The article is about the absolutely horrendous behaviour of the company running Docker Hub. And I totally relate to this as I applied for a project of mine, too. How they run their open source program, it feels nothing more like presenting themselves as the big open source supporters, but in fact they make it extra hard for those who already maintain software for free.
- TZubiri 2y ago"absolutely horrendous behaviour" If the phrase absolutely horrendous behaviour maps to this triviality instead of actual atrocities, you have gotten too deep and lost context. I don't want to discredit any small issues by putting them into global perspectives, but there's several wars as we speak, maybe just tone down your alarm levels if you want to be taken seriously.
- concerndc1tizen 2y ago> the absolutely horrendous behaviour They've ignored their application. That hardly qualifies as "horrendous". Don't you believe in freedom? It's fair to criticize them for monopolistic practices and creating a closed ecosystem. But if you want social goods (enforced through social norms), then the company should be publicly owned, not private.
- skywhopper 2y agoDude, your posts are filled with wild non-sequiturs. “Don’t you believe in freedom?” What?
- concerndc1tizen 2y agoDude, I'd argue that the people in these comments are suffering from cognitive dissonance. I see people presenting two beliefs: 1) enterprises should be free to offer the services they want, to who they want 2) consumers have the right to bully enterprises that don't offer what they want And that's fine. People can have different politics. But IIUC, these two beliefs are mutually exclusive. Dictionary for the illiterate: - Bully: when you use peer pressure, through public exposure, to induce negative consequences, as a political strategy, for furthering an agenda, and getting the victim to align with your interests.
- jillesvangurp 2y agoThere are a few good reasons to avoid docker hub in production environments: - free usage is capped and throttled if you exceed download limits. - some cloud environments don't pay for docker hub access and it's easy to exceed those limits collectively. I've seen that happen on telekom cloud a few times. - you can configure docker on your machine to use a mirror. For example https://mirror.gcr.io https://mirror.gcr.io. Or you can setup your own mirror of course. Most cloud environments do this for you. Using a mirror means you can continue to use images published (by others) to docker hub. And since you don't really have much of a choice about where others publish their images, using a mirror is a good workaround. IMHO the docker solution of simply prepending images with your registry domain is actually a decent practice. I don't get websites I browse from a central repository either. For your own stuff, you don't really need to use dockerhub. You can just run your own repository, which isn't that hard or expensive. But of course, an empty repository isn't that useful if you mainly use stuff made by others. Btw. docker is not unique with having a corporately owned central repository of software. Annoyingly, maven central is run by Sonatype and their process for pushing stuff there is mildly convoluted. It's stupidly easy to use a simple aws or gcp bucket as a maven repository from gradle (I do this for some of my OSS projects). Or any old server with ssh access and a web server. Github also offers repositories for a lot of stuff. But getting your library on maven central just means dealing with their bureaucracy (Jira driven!) and jumping through a lot of hoops. I've been wishing somebody would beat some sense into them or would setup a (vastly) easier to use public repository for years. It's nice that companies offer public repositories of stuff. But it's inconvenient when they start policing/taxing access to that or put up barriers to get stuff in there. Mainly because they tend to host the vast majority of interesting dependencies that you might want to use. IMHO the ownership of such central infrastructure ideally moves to some kind of foundation with proper governance rather than some company. For docker that could be the Linux Foundation. It's not clear to me why that responsibility lies with a tiny company for the Java ecosystem that makes a rather convoluted product for hosting jar files which at this point isn't actually that widely used since there are plenty better alternatives. Nothing against them but why delegate such a big responsibility to them?
- dangus 2y agoDocker lists a phone number on their website, perhaps you can try that? Instead of all the snide remarks I’ll offer another possible solution: Contact sales for Docker Business, first state your interest in the business enterprise plan, maybe even make some statements about how it would benefit you, but also during the sales/discovery/demo process note the problems you’re having as a free organization and how they have to be resolved before you can move forward. Once the sales team prods the right people to fix your problem, continue wasting their time a little more as punishment and then tell them sorry, we went with another vendor.
- schmookeeg 2y agoHeh, I seem to have stumbled into /r/UnethicalLifeProTips ...not disagreeing with the approach. :) I swear something like half of my problems in life can be boiled down to poor/absent communication. If you're going to LARP as a grown-up company, as Docker seems to be, then you need to do the work and respond to the emails. Even from the freebie customers.
- dangus 2y agoI will say though, I get it, non-paying customers aren’t customers. But if that’s the case that they offer a free tier/open source project tier without support they shouldn’t offer a service that isn’t 100% self-service.
- deleted 2y ago[deleted]
- neoromantique 2y agoThis really pushes me to get over the laziness and embrace nix.