unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#35697] [PATCH 0/8] Make 'guix system docker-image' readily usable
@ 2019-05-12 10:30 Ludovic Courtès
  2019-05-12 10:37 ` [bug#35697] [PATCH 1/8] system: Export 'operating-system-default-essential-services' Ludovic Courtès
  2019-05-15 14:37 ` bug#35697: [PATCH 0/8] Make 'guix system docker-image' readily usable Ludovic Courtès
  0 siblings, 2 replies; 10+ messages in thread
From: Ludovic Courtès @ 2019-05-12 10:30 UTC (permalink / raw)
  To: 35697; +Cc: Chris Marusich

Hello Guix,

On current master, ‘guix system docker-image’ produces an image without
an entry point, so one has to carefully follow the “GUIX_NEW_SYSTEM hack”
described in the manual.

Furthermore, due to other issues, the resulting image doesn’t properly
boot because it tries to mount file systems that it cannot mount, such as
/dev/shm and /dev/pts.

These patches fix both issues, such that one can just do ‘docker create’
and ‘docker start’ to get Guix System up and running in the container.
I think that’s a nice improvement.  :-)

We discussed this Friday on IRC and people said that it’s quite unusual
to provide a “full OS” (with PID 1) as a Docker image; instead, people
would rather do one image per (micro)service.  But anyway, that’s
the purpose of ‘guix system docker-image’, and I can imagine it has
use cases too.  For example, it’s a simple way to get Guix set up in
a container, for people who want to perform Guix builds in a container.

Thoughts?

Ludo’.

Ludovic Courtès (8):
  system: Export 'operating-system-default-essential-services'.
  linux-container: Improve filtering of unnecessary file systems.
  services: 'gc-root-service-type' now has a default value.
  linux-container: Do not add %CONTAINER-FILE-SYSTEMS to Docker image
    OSes.
  linux-container: Compute essential services for THIS-OPERATING-SYSTEM.
  system: Add 'operating-system-with-gc-roots'.
  docker: 'build-docker-image' accepts an optional #:entry-point.
  vm: 'system-docker-image' provides an entry point.

 doc/guix.texi                  |  18 +++--
 gnu/services.scm               |   5 +-
 gnu/system.scm                 |  18 ++++-
 gnu/system/linux-container.scm |  30 ++++++---
 gnu/system/vm.scm              |  18 ++++-
 gnu/tests/docker.scm           | 118 ++++++++++++++++++++++++++++++++-
 gnu/tests/install.scm          |  11 ---
 guix/docker.scm                |  15 +++--
 8 files changed, 195 insertions(+), 38 deletions(-)

-- 
2.21.0

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2019-05-15 14:39 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-12 10:30 [bug#35697] [PATCH 0/8] Make 'guix system docker-image' readily usable Ludovic Courtès
2019-05-12 10:37 ` [bug#35697] [PATCH 1/8] system: Export 'operating-system-default-essential-services' Ludovic Courtès
2019-05-12 10:37   ` [bug#35697] [PATCH 2/8] linux-container: Improve filtering of unnecessary file systems Ludovic Courtès
2019-05-12 10:37   ` [bug#35697] [PATCH 3/8] services: 'gc-root-service-type' now has a default value Ludovic Courtès
2019-05-12 10:37   ` [bug#35697] [PATCH 4/8] linux-container: Do not add %CONTAINER-FILE-SYSTEMS to Docker image OSes Ludovic Courtès
2019-05-12 10:37   ` [bug#35697] [PATCH 5/8] linux-container: Compute essential services for THIS-OPERATING-SYSTEM Ludovic Courtès
2019-05-12 10:38   ` [bug#35697] [PATCH 6/8] system: Add 'operating-system-with-gc-roots' Ludovic Courtès
2019-05-12 10:38   ` [bug#35697] [PATCH 7/8] docker: 'build-docker-image' accepts an optional #:entry-point Ludovic Courtès
2019-05-12 10:38   ` [bug#35697] [PATCH 8/8] vm: 'system-docker-image' provides an entry point Ludovic Courtès
2019-05-15 14:37 ` bug#35697: [PATCH 0/8] Make 'guix system docker-image' readily usable Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).