Docker Playground

Everyone gets a place. Yes, even the legacy database.
The Playground starts a database in Docker with sample data, so you can try an engine, test a query or get a dev database without installing anything.
Requirements
Docker Desktop (or another docker command) installed and running. The first start of each engine pulls its image from Docker Hub or Microsoft's registry, which can take a while.
Starting one
Click Playground in the connection manager, pick a mode and an engine.
- Throwaway: removed when you close its tab. Nothing is saved.
- Keep: keeps its data in a Docker volume and keeps running after you close the tab, so you can use it as your app's dev database. Lily saves it as a connection in a Playground group.
Lily waits up to about 90 seconds for the database to accept connections, then opens it.
Engines
All run on localhost, on ports chosen not to clash with a database you already run.
| Engine | Image | Port | User / password | Sample data |
|---|---|---|---|---|
| PostgreSQL | postgres:16 | 15432 | lily / lily123 | products in lily_store |
| MySQL | mysql:8.4 | 13306 | root / lily123 | products in lily_store |
| SQL Server | mssql/server:2022-latest | 11433 | sa / Lily_Str0ng! | products in master |
| ClickHouse | clickhouse-server:latest | 18123 | lily / lily123 | products in lily_store |
| Trino | trinodb/trino:latest | 18080 | lily, no password | the built-in tpch catalog |
| MongoDB | mongo:7 | 37017 | no auth | products in lily_store |
| Redis | redis:7-alpine | 16379 | password lily123 | empty |
| DynamoDB Local | amazon/dynamodb-local:latest | 18000 | key local / secret local | Products table |
Trino and DynamoDB Local do not keep data in Keep mode. SQLite is not in the list; the sample store on the home screen covers it.
The connection menu
The cube icon on a Playground connection's pill in the connection bar has:
- Copy connection string, to paste into your app's config;
- Save as a connection, to keep a throwaway one;
- Stop & remove.
Opening the same engine again reuses its container if it is still running.
Cleaning up
Throwaway containers are removed when you close their tab. If you quit Lily with one still open, it keeps running; remove it from Docker Desktop or with docker rm -f.