Zum Inhalt springen

SOAP-Client in einem Docker-Container nutzen

Von Michael Wutzke, , aktualisiert

Docker

SOAP ist ein Netzwerkprotokoll, mit dem Systeme Daten austauschen und entfernte Prozeduren aufrufen können. 2020 ist SOAP vor allem bei Banken und Versicherungen noch recht verbreitet, auch wenn es nach und nach von anderen Technologien abgelöst wird.

In vielen vorkonfigurierten Docker-Containern ist der SOAP-Client nicht installiert. Das gilt auch für PHP-Docker-Container. Wenn Sie einen Docker-Container mit einem PHP-SOAP-Client ausstatten müssen, geht das so:

Schritt 1: Dockerfile in „my-directory/Dockerfile“ anlegen

FROM (NAMEOFIMAGE) RUN rm /etc/apt/preferences.d/no-debian-php && apt-get update && apt-get install -y libxml2-dev php-soap && docker-php-ext-install soap

Nur bei den Linux-Distributionen Debian und Ubuntu können Sie „rm /etc/apt/preferences.d/no-debian-php && “ weglassen. In der Datei docker-compose.yml müssen Sie „image“ durch den folgenden „build“-Befehl ersetzen.

Schritt 2: docker-compose.yml laden (vor der Änderung)

image: (NAMEOFIMAGE)

Schritt 3: docker-compose.yml anpassen (das Image wird über das Dockerfile geladen und angepasst)

build: ./my-directory