Launching a Catalog with Docker Compose

Open a real PostgreSQL-backed archive only after the database is ready and its import succeeds, while keeping an independent welcome page available.

ProjectDocker

Introduction

Launching a Catalog with Docker Compose is a practical project for Docker learners opening a small community archive. Its catalog needs both a usable PostgreSQL database and a successful record import. A container that has started does not establish either result.

Two Guided Labs build these decisions one at a time, then test a deliberately invalid import. One Challenge applies the same methods to a neighborhood archive with different service names and database credentials. Every lab starts independently.

What You Will Learn

  • distinguish container startup, database readiness and successful import completion;
  • use a real TCP health probe and Compose dependency conditions;
  • read service logs and native exit status to understand an unavailable catalog;
  • verify a first launch with a new, explicitly scoped data volume;
  • keep a failed import from starting its consumer without blocking the independent welcome page;
  • check actual records, duplicate-title identities, search results and transcript downloads.

Who This Course Is For

This course suits beginning container users preparing a small application with a database and a one-shot initialization task.

Prerequisites: Basic terminal paths, Docker containers and logs. Compose settings, health checks and the supplied YAML are explained. Writing SQL or Python is unnecessary.

Learning environment: Docker, Compose, PostgreSQL, the importer and two controlled input collections are prepared. Use Workstation, Reference Archive, Your Archive and Collection Notes in your browser.

Frequently Asked Questions

Why not add a fixed startup delay?

Elapsed time does not prove that a database is usable or that an import succeeded. You test observable readiness and completion instead. The disclosed training delays make the startup order visible.

Will I delete unrelated databases?

The exercises name one course-owned project and verify its volume labels before resetting its disposable training data. Reference data and platform resources stay outside that scope.

What happens when an import fails?

The catalog must remain unstarted, while the separate welcome page still works. The course teaches a controlled reset to test corrected first-start configuration; it does not build a production migration system.

Teacher

labby
Labby
Labby is the LabEx teacher.