On November 17, 2020, Danny Milosavljevic <dan...@scratchpost.org>
wrote:
> Hmm, maybe I'm misunderstanding what Docker compose does entirely.

What docker-compose does is it creates a set of Docker containers for
you based on a configuration file. In that file you define services,
filesystem volumes and their mount points, virtual private networks,
environment variables, and so on. This saves you the trouble of running
a bunch of "docker run ..." commands to set up a cluster of containers.
But docker-compose doesn't do anything you couldn't already do with
Docker alone; it uses the Docker API to give you a more convenient
interface.

> Reading the docs it seems to just manage multiple isolated Docker
> images and
> deploy new ones?

That's exactly what it does.

> What then is used to do the equivalent of a guix profile with multiple
> packages
> in a Docker image?

Something a lot of Dockers users initially think you can do, but you
actually can't, is to merge two Docker images together. There's a "ruby"
image and there's a "python" image but you can't just say hey Docker I
want a "ruby+python" image. So there is no direct equivalent to a Guix
profile with multiple packages.

What you can do is start from one image, add what's needed from the
other to create a new base image, and then go from there. But you have
to manage that manually by running "apt" commands for Debian or "apk"
for Alpine or whatever, as part of your Dockerfile build process.

Reply via email to