On November 17, 2020, Danny Milosavljevic 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.