5 ms·
I'll just go ahead and take the downvotes for suggesting that people who want to use Linux-technology, like Docker, within their OS should just use Linux as the
by josteink 12y ago
I'll just go ahead and take the downvotes for suggesting that people who want to use Linux-technology, like Docker, within their OS should just use Linux as their OS.
Yeah. Call me crazy, but I honestly think that makes a whole lot of sense.
- deleted 12y ago[deleted]
- eddieroger 12y agoI will play devil's advocate to your comment and say that it's my impression that the benefits of Docker are such that I can use whatever I want, including OS X, and let the containers be whatever OS suits them. So if I want to do my primary development on a Mac but my prod environment is CentOS, it doesn't really matter since my container is Ubuntu anyway. And I get to use my nice, native toolchain for development, like BBEdit, or whatever I really want.
- sp332 12y agoBut containers aren't completely isolated. In particular, they share a kernel with the host OS. (And the file system, I think?) So you need to have software built with the right system calls, not to mention compiled for the right hardware architecture.
- dorfsmay 12y agoI think you are confusing containers and VMs. Containers use the kernel from the hosting machine, so if you want to use a container on a non-native host, you have to use a VM. VM technology is advanced enough that you can do development on a non-native platform, but it won't be quite as smooth, and adding containers on does complicate things quite a bit, because you now have a container running in a VM running on the native platform, having to deal with three layers of networking etc...
- teh_klev 12y agoWell, they more or less are, but in a VM. It's what I do from my Windows desktop dev box. When I'm working at my Fedora workstation, again, everything lives inside a VM so that I don't accidentally pollute my target environment, or my workstations.
- barrkel 12y agoBut how will you look Appletastic down the coffeeshop when running a freetard stack?
- e40 12y agoMany of us want to use software that is not available on Linux, like Adobe's Lightroom. Like using Linux, that is a choice.
- dorfsmay 12y agoThat's what VMs are for, not containers.
- wedowhatwedo 12y agoSome of us that use Mac applications don't like to break the law and run OS X in a VM when that is not allowed by the license agreement. You can run it in a VM if your host OS is OS X, but not if it is Linux. I use OS X with VMware fusion and am very happy with it. I can run the commercial apps I need plus Linux, Windows, docker...
- dorfsmay 12y agoI meant use Linux (or Windows or whatever) in a VM on top of OS X - Containers won't help you here.
- mbell 12y ago> people who want to use Linux-technology, like Docker What defines Docker as 'linux technology'? It has an execution driver API specifically designed to support multiple backends, e.g. BSD jails. I wouldn't use the fact that they started with linux support to declare them 'linux technology', whatever that means.
- xorcist 12y agoProbably because the vast majority that run Docker do so on Linux. It is therefore the most well tested code paths. Ignore that at your own peril.
- afarrell 12y agoDocker is a "Linux Technology" because it is based on a particular feature of the Linux kernel (http://en.m.wikipedia.org/wiki/LXC http://en.m.wikipedia.org/wiki/LXC) and you need to run a Linux kernel (either in a vm or on bare metal) to run them.
- mbell 12y agoLXC isn't a 'feature of the linux kernel' it's a user land library that uses a set of linux kernel features (e.g. cgroups, namespaces, etc) to expose an api for creating system containers. LXC isn't part of the kernel. Docker's default driver has been libcontainer, not LXC, for almost a year. libcontainer implements Docker's execution driver api and works with the various linux kernel features needed to implement containers directly, it doesn't use LXC at all. Docker isn't based on nor reliant on LXC in any way anymore and with the execution driver api is designed to run on various platforms.
- afarrell 12y agoI stand corrected
- beat 12y agoI would be developing in containers (I use both Vagrant and Docker) even if I were using Linux rather than OSX for my desktop. Why? Repeatability. I can automate and fully control my development/deployment environment with containers, something I can't do with a desktop machine. Day-to-day desktops and laptops are snowflake servers, if you use them for server development. Developing on them, without a container layer, is begging for all the problems of snowflake server development and deployment, all the things we've been trying to get away from in the second decade of the 21st century. If I'm not misunderstanding you, you're calling for a retreat to development practices I don't want to use, development practices that are demonstrably harmful. And if I do understand you, then there's absolutely no benefit to using Linux rather than OSX for my desktop, because I'm containerizing anyway. So no, not downvoting you. Just showing you why you're wrong.
- afarrell 12y agoAnd that's why I rent servers from digital ocean or linode. However, nobody has yet written http://selfcontrolapp.com/ http://selfcontrolapp.com/ for OS X but they have written xmonad (the thing that was keeping me on desktop Linux) for OSX. http://ianyh.com/amethyst/ http://ianyh.com/amethyst/ And no, I can't write self-control on Linux for myself, because then circumventing it to read the news wouldn't require more patient thought than whatever I'm trying to focus on. Please don't discuss how it works in replying to my comment. I want not to know.
- rmurri 12y agoIn the selfcontrollapp faq they list a linux version http://svn.jklmnop.net/projects/SelfControl.html http://svn.jklmnop.net/projects/SelfControl.html that I have seen referenced. I have not given it a try.
- UUMMUU 12y agoNever heard of SelfControlApp but looking at it, it might be just what I need since I just started working remote a few months ago. Thanks for the link!
- jaegerpicker 12y agoWhy would I restrict myself to Linux if the tooling I prefer is only available on Mac? I guess if my entire workflow was terminal based then Linux would make sense but I'm more productive with Intellij, Kaleidoscope, Tower Git, iTerm, and my iTunes library of music. A vm running centOs and using docker let's me use my favorite tools and still leverage Linux as a deployment environment, how does that not make sense?
- antocv 12y agoThen run Mac in a VM on Linux. IntelliJ, Git, and music-listening developr here. On GNU/Linux. It does not make sense because you stop yourself from knowin the inner workings of what you are targeting in your development efforts - eat your own poison so to say - CentOS - run CentOS. How hard can that be?
- debaserab2 12y agoOr just go the other way around and let your toolchain reside on the host and your source code reside on a VM. I've always found that to be a more natural workflow: my VM remains a more pristine true-to-production environment and I'm not stifled by the oddness of doing 90% of my work in a virtual environment.
- jaegerpicker 12y agoA. running Mac in a VM on Linux is illegal B. Tower, Kaleidoscope. iTerm, and XCode are all Mac only C. How in Earth do you draw the conclusion that I've stopped myself from knowing anything? I am running CentOS, in the VM. I'm extremely familiar with the inner workings of Linux. If I'm running in a VM or as the main OS has no bearing on how much I know about my deployment target. It's still the same steps to setup a deployment target VM or on my actual laptop. In fact in the case of AWS you could argue that a VM is much closer to my deployment prod servers than laptop hardware would be.
- josteink 12y ago> A. running Mac in a VM on Linux is illegal According to who? Has this been tried in a court of law? If not, it's legal until proven otherwise. This BS by Mac-appologetics has got to stop.
- Argorak 12y ago]I've regularly experienced issues with not the development system not being the target system _within linux distros_. Just go the whole way and develop with the target environment isolated from your host system. You're not running Linux, you are running _some version of Linux_.