[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Containers on Guix
From: |
宋文武 |
Subject: |
Re: Containers on Guix |
Date: |
Thu, 20 Nov 2014 21:30:36 +0800 |
User-agent: |
Notmuch/0.18.1 (http://notmuchmail.org) Emacs/24.3.1 (x86_64-pc-linux-gnu) |
David Thompson <address@hidden> writes:
> Hello all,
>
> As some of you know, I wrote 'guix environment' as the first step on my
> journey to use Guix to improve my (and hopefully others) software
> development workflow. Now that the basics are working, I'm interested
> in taking things further. In particular, I want to extend 'guix
> environment' to support spawning VMs and then, hopefully, containers
> (those things that the Docker folks have been talking about so much
> lately).
>
> I did some reading about how Docker creates containers and discovered
> that it uses systemd-nspawn[0] to do it. Since Guix uses dmd, using
> systemd-nspawn isn't an option. Does anyone have thoughts on how we
> might have similar functionality in the Guix distro?
I think what we need is pflask: https://github.com/ghedo/pflask
A container is programs or full os running in an isolated environment.
For a full container with rootfs, we can:
build the rootfs:
of Guix: by using a form of `guix system init'
of Debian: by using debootstrap
get it running:
# pflask --chroot=rootfs /sbin/init
For a lightweight container without rootfs, we can:
build the activate script by `guix build'
get it running:
$ pflask --user=$USER activate
(could run by normal user by using User namespace)
>
> Would an nspawn equivalent be appropriate for dmd? Or a completely
> separate program? This seems to be a Linux only feature, so if we
> added
Isolation is archieved by using Linux namespaces, IMO dmd will work
well.
> a container creation program, would it make it harder to support the
> Hurd?
>
> I'm lost and confused! Send help! :)
>
> --
> David Thompson
> Web Developer - Free Software Foundation - http://fsf.org
> GPG Key: 0FF1D807
> Support the FSF: https://fsf.org/donate