Fedora Server and Docker
Simo Sorce
simo at redhat.com
Mon Jun 2 18:57:21 UTC 2014
On Mon, 2014-06-02 at 14:47 -0400, Stephen Gallagher wrote:
> On 06/02/2014 02:39 PM, Simo Sorce wrote:
> > On Mon, 2014-06-02 at 13:55 -0400, Stephen Gallagher wrote:
> >> On 06/02/2014 01:51 PM, Simo Sorce wrote:
> >>> On Mon, 2014-06-02 at 08:03 -0400, Stephen Gallagher wrote:
> >>>> I've been playing with Docker quite a bit lately,
> >>>> particularly the Fedora Dockerfiles[1] to see what might be
> >>>> useful for the Fedora Server.
> >>>>
> >>>> For one thing, it occurs to me that we may want to have a
> >>>> strategy for using Docker images in the Fedora Server for
> >>>> any Roles that can support it[2].
> >>>>
> >>>> Advantages: * Deployment can be scripted as dockerfiles
> >>>> instead of full packages * The same Docker image is
> >>>> guaranteed(?) to be loadable by the next version of Fedora,
> >>>> making distro-upgrades safer. * Role upgrades can be handled
> >>>> by starting up a new Docker image with the updated software
> >>>> and then migrating data between them. * With Docker and
> >>>> SElinux, our Roles can be isolated from the host server. (And
> >>>> potentially migrated to a Fedora Cloud system later).
> >>>>
> >>>> I've specifically been playing around with using Docker
> >>>> images of PostgreSQL (our planned Database Server Role for
> >>>> Fedora 21) and have found that the Fedora Dockerfile is
> >>>> extremely easy to build and get running.
> >>>>
> >>>> I think that it would be to our advantage to tend towards
> >>>> using Docker images as the implementation for the Database
> >>>> Server Role as well as the proposed memcached role and
> >>>> potentially others, such as the fileserver or iSCSI target
> >>>> roles.
> >>>>
> >>>> This *would* imply adding the docker-io package as part of
> >>>> the standard installation of the Fedora Server.
> >>>>
> >>>> Thoughts?
> >>>>
> >>>>
> >>>> [1] https://github.com/fedora-cloud/Fedora-Dockerfiles\ [2]
> >>>> FreeIPA, our choice of Domain Controller, is not currently
> >>>> supported under Docker, though upstream has a working
> >>>> proof-of-concept. This we can revisit down the road.
> >>>
> >>> I am seriously concerned about security upgrades in a docker
> >>> world, I do not see an easy way to manage that yet.
> >>
> >>
> >> Would you mind elaborating?
> >>
> >> I'm not sure which specific issues you see.
> >
> > If you have layered images how do you upgrade a library in a lower
> > layer ? Do you just run yum update in the container each time you
> > restart it ?
>
>
> In the specific case, I was thinking that we probably wouldn't have
> layers for Roles (since they're going to be fairly self-contained
> anyway). We'd have a single image (and Dockerfile that generates it).
> So whenever an urgent update comes down, we can regenerate the new
> image from the Dockerfile, migrate data-files and switch over. With
> docker images, this can actually be done in a mostly atomic manner too
> (since we would bring the new image up and prep it first, rather than
> having to take down the existing service during upgrade).
I fail to see how you do that if you have a lot of data and you need to
"migrate data-files".
It becomes a lot more complicated than a yum update, what's the gain ?
Simo.
--
Simo Sorce * Red Hat, Inc * New York
More information about the server
mailing list