Slashdot Mirror


Docker Images To Be Based On Alpine Linux (brianchristner.io)

New submitter Tenebrousedge writes: Docker container sizes continue a race to the bottom with a couple of environments weighing in at less than 10MB. Following on the heels of this week's story regarding small images based on Alpine Linux, it appears that the official Docker images will be moving from Debian/Ubuntu to Alpine Linux in the near future. How low will they go?

17 of 86 comments (clear)

  1. Jails by Anonymous Coward · · Score: 2, Interesting

    You could run in a Jail on BSD, and ship pretty much no OS at all. Thats the future of containers (and 20 year old tech too...)

    1. Re:Jails by CrashNBrn · · Score: 2

      Different Use Case, I believe.
      Jail --> Honking Big Ass Server running a bunch of restricted processes. While said process is running self-contained, it's not easily transferable at all.
      DockerSelf-contained program (that can be plugged into many different systems now). Runs self-contained. Easily transferable, everywhere, anytime.

      Think something like nGinx running as a proxy front-end, which could pass thru to servers, vms, dockers on a server, etc. Or using docker images of different configurations during development.

      Jails just don't provide the same functionality beyond limiting a process in a very complicated manner.

    2. Re:Jails by Celarent+Darii · · Score: 2

      Jail --> Honking Big Ass Server running a bunch of restricted processes. While said process is running self-contained, it's not easily transferable at all.

      You obviously never used jails. You can take a FreeBSD jail, archive and transfer it to any other server quite easily. For instance, with a running jail using ezjail-admin [there are actually many ways to do this] :

      # ezjail-admin stop mysql-jail

      # ezjail-admin archive mysql-jail

      The archive file will be saved [according to configuration] in /usr/jails/mysql-jail.tar.gz To transfer to another server, just copy this file to another server and do:

      # ezjail-admin create -a /usr/jails/ezjail_archives/mysql-jail.tar.gz transferred-jail 192.168.1.201

      # ezjail-admin start transferred-jail

      There are even better options using zfs-send and the like, which can copy over a snapshot of the current file system to the server. There are also many advantages to jails that docker simply doesn't have, but I will let other commentors write about them. FreeBSD jails are vastly superior in my humble opinion and are really docker done right. However, in the Linux world docker is definitely a very nice tool

    3. Re: Jails by Billly+Gates · · Score: 2

      There are many disadvantages to docker

  2. Re:Newbie question by Anonymous Coward · · Score: 5, Interesting

    Systemd is a new init system whose primary advantage is that it promises to unify the behavior of services running on different linux distros. The problem that a lot of people (including myself) have with it is that since it unifies behavior, you lose choice in how you configure that behavior. In my organisation we've been using Debian for _years_ and upgrading our servers to the latest version has only ever involved minor tweaks to our config scripts. With Debian 8's systemd, we pretty much have to rewrite it all from scratch, which is going to be a huge, dangerous project. Of course, the trend of history is toward automation and standardization, but I think that systemd is too ambitious and too early. Only time will tell though.

    I hadn't heard of Alpine Linux before today, being an old Debian guy. Besides the whole systemd thing, I've had the sense that Debian was loosing its way for a while and have been looking around for something to replace it when Debian7 reaches EOL. As a grey beard I want something light-weight and without systemd, but as a practical grey beard I want something stable, that I'll be able to run for another decade. So far, CentOS seemed to be the way of the future for my organization, although it makes me vomit in the back of my throat a little to go closer to the root of the systemd tree.

    Make no mistake, though, Docker is the way of the future and will put a lot of people in this forum out of a job. If Alpine has the backing of Docker, it might be the linux distro of the future. It has some really interesting features, like the ability to save all of your system configuration into a package that you can install on other systems via the package manager. That's really cool, and a neat alternative to puppet. I'm not very happy that it isn't binary compatible with stuff built using glibc (which means that commercial software will be limited), and AFAICT it doesn't have some of the dev tools I like to use, but I think this will be a major contender soon.

    I'll be watching it. It might

  3. Summaries, how do they work? by bgarcia · · Score: 3, Insightful

    So, WTF is docker? I thought docker was some Apple UI concept, but I have no idea what it is in Linux.

    --
    I'm a leaf on the wind. Watch how I soar.
    1. Re:Summaries, how do they work? by Anonymous Coward · · Score: 4, Informative

      Really? You've never heard of Docker? Docker is a system that allows you to build "containers" for an application that contain all of its dependencies. Then you can deploy it on a machine where it runs as a VM, using its local copy of software and configuration if there is one, or the host's copy if not. It allows you to package applications that can run on any compatible server without interfering with other applications on that server. When you need to spin up a new machine, you can just copy the container over and the application and all of its configuration is automagically moved. It's awesome.

      In the short term, Docker is going to change the way that every Linux system is administered. It will change the way that every Linux application is deployed. In the longer term, Docker will finally fulfill the promise of "write once, run everywhere"... linux, unix, windows, android; it won't matter any more. Docker is going to change the world.

    2. Re: Summaries, how do they work? by Anonymous Coward · · Score: 5, Insightful

      In other words, its nothing new, but now with new added lack of security oversight because administration is hard and therefore worthless in todays race to the bottom.

    3. Re: Summaries, how do they work? by Junta · · Score: 4, Informative

      The novelty comes from having a lot of tools to quickly maintain images and such. As you say, there's also 'dockerhub' to let you download canned application complete with OS libraries. The former I find to be handy, the latter I find problematic.

      On the one hand, it can be a handy resource to dive into something to have a hands on example as you learn to deal with it yourself.

      However, a few big downsides:
      -Some projects have gotten very lazy about packaging. They make a half hearted or no effort to offer up distro packages, because 'hey, docker!'. I suppose this wouldn't be so bad, except for...
      -As you say, these are various images with varying degrees of discipline in applying updates.

      Complicating matters that even if you 'trust' a particular publisher, docker's infrastructure isn't exactly thorough about things like signing images and such. Updates become gigantic, because you are updating the entire OS even if one library needs a hand.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    4. Re:Summaries, how do they work? by Hadlock · · Score: 2

      Docker is Cloud 2.0 and is the biggest generational/watershed/great leap for IT since VMs.
       
      Even Microsoft offers docker compatibility with their new NanoServer images.
       
      This is The One Way Forward.
       
      There's one guy working on a project called Atom/Atomic/Atome or something, which is basically your app compiled in to an OS container, instead of being built on top of an OS container, but still responding similar to a docker container.
       
      In the mean time there are Linux Distros like RancherOS that let you basically run and build a server installing containers like apps. Your other option at the moment is Dokku which is sort of a Docker implementation of Heroku.
       
      Docker is a Big Fucking Deal in Silicon Valley right now and while everyone is experimenting with Docker containers in 2016, everyone who is Anyone will be deploying their product at least in some channels using Docker in 2017.

      --
      moox. for a new generation.
    5. Re:Summaries, how do they work? by Lord+Crc · · Score: 3, Interesting

      There's one guy working on a project called Atom/Atomic/Atome or something, which is basically your app compiled in to an OS container, instead of being built on top of an OS container, but still responding similar to a docker container.

      Maybe several people doing the same, but this is one such project: http://www.includeos.org/

      Simply add one include in you C++ project and compile it into a VM image.

    6. Re:Summaries, how do they work? by Anonymous Coward · · Score: 3, Interesting

      First, docker VMs are incredibly efficient. The overhead is really negligible, even on older hardware. Secondly, apt-get is nice, but it affects everything on the system. What if you're using an application that uses removed features of PHP 5.2 and another that relies on new features of PHP7 and a bunch of others that are on happy on 5.6? This is a royal PITA to set up on one machine; you are better off buying seperate servers. With Docker, you can apt-get the version you need WITHIN THE CONTAINER and the problem is fixed.

      By the way, every time you apt-get, you're installing a binary blob. Just so you know.

    7. Re:Summaries, how do they work? by mjm1231 · · Score: 3, Insightful

      I've been running linux as my main OS on my personal computers for about a dozen years. I browse through Slashdot nearly every day. I have never heard of Docker. I work in a Windows world and don't do application development. I'm not sure why you think this would be on the radar of every single reader of Slashdot.

      This failure to explain, or even link to an explanation, of the core concept of a summary is probably one of the biggest recurring editorial failures on Slashdot. (And yeah, that's saying something.) Technology has a lot of specialized branches. I know plenty of application developers who don't know anything about networking, or network admins who don't know anything about databases or writing code, etc. etc.

      --
      Ideology: A tool used primarily to avoid the bother of thinking.
    8. Re:Summaries, how do they work? by sconeu · · Score: 2

      I'm surprised, too. As was said at SCALE this year.... The first rule of Docker is that you never shut the fuck up about Docker!

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
  4. Re:Newbie question by fpoling · · Score: 3, Interesting

    I suspect docker is the only real contender to the total systemd domination. I liked systemd until I realized how much fragility it brings to the system with all those supposedly nice dependencies between services. The problem is that when one of the dependencies fails, the rest stops starting/shutting down/working when in fact the failure can be very much transient. So I started to like how docker resists supporting full-featured container dependencies. It essentially requires for containers to deal with connection failures when talking to other containers making the whole setup much more robust. As a bonus it becomes much easier to move containers to other machines making the setup scalable.

    The move to Alpine is nice in that respect as it it ensures that the packages to build containers on do not have explicit or implicit dependencies on the presence of systemd and so is much more suitable for docker.

  5. Re:Newbie question by F.Ultra · · Score: 3, Interesting

    The unification with systemd is so that you as a daemon developer only have to write one single unit file that then will work across all different distributions that use systemd, it has nothing to do with limiting your choice in configuration. There should be no less choice in configuration of systemd for you as an administrator than what you already have with SysVInit. You can run what ever scripts from the unit files that you want. I would very much like to hear why you think that systemd lessens your configurability.

  6. Re:Newbie question by BitZtream · · Score: 3, Interesting

    Make no mistake, though, Docker is the way of the future and will put a lot of people in this forum out of a job.

    Yea, you're not really a grey beard if you make stupid statements like that.

    Adding another layer of virtualization to our existing stack with several layers already in it isn't going to magically make things better.

    In the last 10 years I've seen the same web server go from running on bare metal to running under 4 layers of hypervisor by the time you get to the docker container ... and you know what ... now that server farm takes 3 times as many people to run because you still need the apache guys ... and you still need the linux guys ... but now you need the docker guys, the vmware guys, and somebody who can coordinate the whole fucking mess.

    So lets look at this we went from:

    Hardware -> Linux -> AppVM running Apache (1 layer of address translation, the AppVM/Linux kernel boundary)

    to

    Hardware -> Linux -> KVM -> Linux -> Docker -> Linux -> AppVM running Apache (thats 5 layers of translation ... Yes, thats REALLY what most people using Docker will do)

    Yea, thats definitely going to put people out of work ... its easy to understand.

    Docker is another example of people doing something because they figured out how to do it, not because they actually should do it. Worse still, Docker is a solution to the fact that Linux is a mess from a file system perspective where everyone just dumps all their bins, system or 3rd party all in the same directories, all together. And then they make fun of Windows like System32 is different than /usr/lib on any given Linux box. System or app config files ... ALL of them are in /etc ... WTF? You know theres this /usr/local idea right? You know that you can put libs in the same directory as the application and then you don't have to run a VM to get the same sort of separation right? I mean seriously, you can't call yourself a grey beard and say Docker is good at the same time, you just admit you have no fucking clue how to be an admin or how docker works.

    And you're conflating it with systemd? Do you not have any idea what either one of them are?

    Yea, I'm ranting. People who think Docker is good are idiots, typically developers trying to be sys admins, or 'DevOps' as they call it ... and they're clueless and don't understand wtf they are doing. Its not Dockers fault. 'Zones' are something Solaris has had for years, and they weren't new when Solaris did it. Mainframes have had the concept since the 70s. The problem devs who don't know when and where to use them are just throwing them all over the place

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager