Db2 Docker Images - günstig und optimal für Test- und Entwicklerzwecke

17.04.2019

ITGAIN – Docker CLI cheat sheet

Agilität im Datenbankbetrieb bringt eine Reihe von neuen Tools und Technologien mit sich, die vielen Bereits aus dem DevOps Umfeld bekannt sind. Eine der derzeit mit am häufigsten diskutierten ist Docker, bei ITGAIN besonders im Fokus: Db2 auf Docker.Im Bereich Operational Services befassen wir uns mit diesem Thema schon seit längerem, um unseren Kunden und Partnern in diesem Bereich die bestmögliche Unterstützung zu bieten.

Die derzeit von der IBM zur Verfügung gestellten DB2 Docker Images mit Developer Lizenz sind kostenfrei verfügbar und eignen sich somit optimal für Test- und Entwicklungszwecke, auf einem Docker Server wie auch auf dem eigenen Desktop PC mit Docker Desktop. Die Images sind über Docker Hub öffentlich verfügbar und können schnell und einfach auf den eigenen PC geladen werden.

Die nötigen Schritte und Docker commands zusammengefasst:
1)    Installation von Docker Desktop (Windows / MacOS)
2)    Erwerben des kostenfreien Images im Docker Hub (https://hub.docker.com/_/db2-developer-c-edition)
3)    Login im Docker Hub Windows-CMD / MacOS Terminal
          docker login
          User: <docker id>
         Password: <docker password>

4)    Laden des Images:
docker pull store/ibmcorp/db2_developer_c:11.1.4.4-x86_64

5)    Anlage einer Konfig-Datei (.env-list) mit mind. folgendem Inhalt (Instanzname und Passwort sollten angepasst werden):
LICENSE=accept
DB2INSTANCE=db2inst1
DB2INST1_PASSWORD=password
DBNAME=testdb
BLU=false
ENABLE_ORACLE_COMPATIBILITY=false
UPDATEAVAIL=NO
TO_CREATE_SAMPLEDB=false
REPODB=false
IS_OSXFS=false
PERSISTENT_HOME=true
HADR_ENABLED=false
ETCD_ENDPOINT=
ETCD_USERNAME=
ETCD_PASSWORD=

6)    Start eines Container aus dem Db2 Image (Werte in <> sind anzupassen):
docker run -h <Hostname> \
        --name <ContainerName> \
        --restart=always \  
        --detach \  
        --privileged=true \
        -p 50000:50000 -p 55000:55000 \
        --env-file .env_list \
        -v <db storage dir>:/database \
        store/ibmcorp/db2_developer_c:11.1.4.4-x86_64
        
7)    Überwachen der Startup-Schritte
docker logs -f <ContainerName>

Nach einer gewissen Startup-Zeit ist die Db2 Datenbank verfügbar und verhält sich wie jedes andere Db2 und  unterscheidet sich in erster Linie nicht von einem Db2, das nicht auf Docker betrieben wird.
Es ist über die IP Adresse des Docker Hosts (auf einem Desktop PC: localhost bzw. 127.0.0.1 oder Hostname bzw. dessen IP) und dem im „docker run“-Command angegebenen Port erreichbar (Default 50.000).
Root-Shell Zugang bekommt man über die command line mittels „docker exec -ti <my_db2_server> bash“.
Die wichtigsten Commands für Docker haben wir in folgendem Cheat-Sheet zusammen gefasst.