• Christian Müller

Docker Installieren und Konfigurieren

Einführung

In dieser Anleitung soll die Installation und Konfiguration von Docker auf einem Server erläutert werden. Auf Basis von CentOS sollen folgende Komponenten zum Laufen gebracht werden:

  • Ghost als Blog-Service

  • ownCloud als Dateispeicher, vor allem um mit Partnern und Kunden Dateien auszutauschen

  • GITLab als Anwendung zur Softwareentwicklung im Team

  • Shipyard als Tool zur Remote-Verwaltung der Docker Container

Unter Windows sind Putty als Kommandozeilentool und WinScp für die Dateiübertragung nötig. Linux bietet diese Funktionen nativ an.

Schritt 1 - Basiskonfiguration von CentOS und Installation von Docker

Nach der Installation von CentOS sollte zunächst ein Update durchgeführt werden:


yum -y update

Anschließend kommt die Installation von Docker

yum -y install docker docker-registry

Damit Docker auch automatisch beim Neustart läuft, muss der Docker Service noch eingerichtet werden:

systemctl enable docker.service systemctl 
start docker.service

Ob alles korrekt installiert wurde lässt sich überprüfen mit:

root@CentOS-73-64-minimal ~]# systemctl status docker.service 

Die Ausgabe sollte

Active: active(running) since... 

enthalten


Schritt 2 - Konfiguration der MariaDB und Einführung in Grundlegende Docker Befehle

Damit Ghost und die ownCloud auf eine zentrale Datenbank zugreifen können, muss diese als erster Container installiert werden. In dieser Anleitung wurde entschieden, dass die Daten im Homeverzeichnis abgelegt werden sollen und der Standard Port 3306 verwendet wird.

Die Daten werden in Home abgelegt. Ein entsprechendes Data Verzeichnis wurde erzeugt:



mkdir /home/data mkdir /home/data/MariaDb


Folgende Konfiguration soll verwendet werden:

  • Name: ghost-mysql

  • Datenverzeichnis nach: /home/data/MariaDb/ mappen

  • SQL Password: XXXXXXX

  • Docker Image das zu verwenden ist: mariadb

Mit diesem Befehl legen wir die Datenbank an:


docker run --name ghost-mysql -v /home/data/MariaDb/:/var/lib/mysql:z -e MYSQL_ROOT_PASSWORD=XXXXXXX -d -p 3306:3306 mariadb

Mit docker ps ist ersichtlich, ob die Datenbank korrekt läuft:

[root@CentOS-73-64-minimal ~]# docker ps CONTAINER ID   IMAGE     COMMAND                  CREATED       STATUS       PORTS                    NAMES d952d2b55a4e   mariadb   "docker-entrypoint.sh"   3 weeks ago   Up 3 weeks   0.0.0.0:3306->3306/tcp   ghost-mysql


Das Verzeichnis hat auch die entsprechenden Daten der MariaDB:



Möchten Sie einen laufende Container löschen, dann können Sie das mit docker rm durchführen. Sollte der Container noch laufen, kann man mit -f das löschen erzwingen:



Mit den Kommando docker start kann man einen stehenden Container wieder neu starten. Mit docker restart beenden und neu starten und mit docker stop natürlich den Container beenden:



Sollte das Docker-Image nicht starten, kann man ggf. ohne die Detach Option -den Fehler erken