CouchDB ist ein bekannter Vertreter der sogenannten NoSQL Datenbanken. Im Docker-Hub werden offizielle Images angeboten. Dadurch ist es sehr einfach, mithilfe von Docker eine lauffähige Instanz zu installieren. Hierfür erstellen wir eine docker-compose.yml Datei:
volumes:
couchdb-data:
services:
couchdb:
image: "couchdb:2"
mem_limit: 1GB
restart: always
# Optional
# networks:
# - your-network
ports:
- 5984:5984
env_file:
- credentials.env
volumes:
- couchdb-data:/opt/couchdb/etc/
# Optional
# labels:
# - "traefik.enable=false"
Dies erzeugt einen CouchDB-Container mit dem neusten V2 Release, limitiert den RAM auf 1GB, startet den Container automatisch beim Booten und leitet den Standartport 5984 auf den gleichen Port des Hostsystemes. Die Angabe eines Netzwerkes ist optional, standardmäßig legt Docker-Compose für jedes Compose-File ein eigenes an. Für die persistenten Daten liegt ein Volume couchdb-data bereit. So gehen Datenbankinhalte nicht verloren, wenn der Container neu erstellt wird.
Zusätzlich wird auf die Datei credentials.env verwiesen. Diese Datei legen wir ebenfalls an und definieren darin Benutzer und Passwort des Administrator-Accounts:
COUCHDB_USER=admin
COUCHDB_PASSWORD=password
Damit sind wir bereit, um den Datenbank-Container zu starten:
docker-compose up
Wahlweise kann noch der -d Schalter angegeben werden, um den Container im Hintergrund zu starten.
Nun auf dem jeweiligen System im Browser http://localhost:5984/_utils aufrufen, um den Adminbereich zu öffnen. Dort kann man sich mit den zuvor definierten Zugangsdaten anmelden. Wie man es von den Verwaltungssystemen relationaler Datenbanken her kennt, ist es möglich Datenbanken anzulegen, vorhandene Datensätze einzusehen, Anpassungen darin vorzunehmen etc.