Docker facilitates the automated deployment and execution of preconfigured software packages, so-called containers. These containers are isolated from the host system, thereby enabling a more flexible system architecture.
While not mandatory, integrating Docker is highly recommended to unlock all features and simplify the utilization of Polypheny.
Polypheny requires a Docker integration for the following features:
Docker-based Data Store Deployment: Polypheny supports a wide array of underlying data stores (such as Cassandra, MonetDB, etc.) and connects to these databases using data store adapters. While some adapters can be deployed directly (embedded) within Polypheny, others must be deployed and configured externally, then connected to remotely.
Deploying and managing some adapters directly from Polypheny using the Docker Engine significantly simplifies the setup of data stores, especially given that this process can be complex. For detailed guidance on Docker-based data store deployment, please refer to this documentation.
Notebooks: Interactive notebooks in Polypheny introduce a dynamic and interactive element to your data management tasks. Beyond being a static interface for data retrieval, these notebooks serve as a real-time platform for intricate data querying, manipulation, analysis, and visualization, thereby enhancing your overall interaction with data, and leveraging Polypheny’s advanced multi-model capabilities.
Installing Docker
Docker is available for all major operating systems:
- Windows: Docker Desktop
- Mac: Docker Desktop
- Linux: Docker Engine
Connecting Docker with Polypheny
If Docker is installed locally on the same machine as Polypheny, it will automatically detect and connect to this instance. However, Polypheny also supports connecting to remote Docker engines on different hosts. Polypheny can utilize multiple Docker instances at the same time, depending on your scenario or infrastructure.
Configuring the Docker Engine
Docker installations on Windows and macOS typically utilize Docker Desktop, which has rather strict limitations regarding the resources of the host systems that can be utilized by containers. For productive setups, it is therefore required to adjust these limits.
This is only required on setups using Docker Desktop (e.g., Windows and macOS). On Linux, all resources are available on default.
On setups using Docker Desktop, the available resources, especially the RAM available to the containers, is rather small. Consequently, it is often necessary to increase the amount of RAM.