Skip to content

Installation Components

Alana Darcher edited this page Feb 4, 2024 · 3 revisions

Installation Components

This page provides some details and further resources about the components used in Epiphyte.


Docker

From the Docker website:

Docker provides the ability to package and run an application in a loosely isolated environment called a container. The isolation and security lets you run many containers simultaneously on a given host. Containers are lightweight and contain everything needed to run the application, so you don't need to rely on what's installed on the host.

Docker (as opposed to Docker Compose) builds, manages, and runs containers for single applications.

A container is an isolated environment for your code. This means that a container has no knowledge of your operating system, or your files. It runs on the environment provided to you by Docker Desktop.

Conceptually, a docker container is similar to a virtual environment (e.g., conda for developing with specific Python package versions), but for entire applications. Containers allow quarantining applications from one another, as well as enabling more off-the-shelf functionality for released applications.

Docker Compose is a tool for defining and running multi-container applications. ... Compose simplifies the control of your entire application stack, making it easy to manage services, networks, and volumes in a single, comprehensible YAML configuration file. Then, with a single command, you create and start all the services from your configuration file.

As opposed to Docker, Docker Compose enables the management of applications that rely on multiple applications, using a YAML file to orchestrate the usage of complex applications (such as a database).