Skip to content

Dockerλ︎

Docker logo

Docker containers an isolated environment for repeatable build & runtime systems.

Dockerfile configuration defines a consistent approach to building the source code of project locally, or within a continuous integration (CI) system.

Designing a Dockerfile configuration to maximise use of image overlays (layers) greatly enhances the speed of the build, as libraries and other unchanged assets are cached on first run.

Docker compose orchestrates multiple services locally. Heath checks and conditions can be set to ensure dependant services start in the correct order.

Docker compose can use a Dockerfile configuration to build a project when starting services. An on-watch feature can rebuild the project from sourcw when code changes are written to file.

Recommended Docker Images

Detailed Docker Image Descriptions

Docker and Clojure projects

A Docker Compose workflow complements the Clojure REPL Driven Development workflow.

A REPL connected editor provides instant feedback on the code as it is written, with Docker Compose providing a consistent build and orchestration of services.

🌐 Practicalli REPL Reloaded Workflow

General Workflowλ︎

Try the Docker getting started tutorial

Follow the Docker Getting Started tutorial from within Docker Desktop or via the command line.

docker run -d -p 80:80 docker/getting-started

Practicalli Project Templates includes docker configuration

Practicalli Project Templates create projects that include a multi-stage Dockerfile, .dockerignore and compose.yaml configurations for Clojure development.