2016-09-12 4 views
1

Ich weiß, wie ich den Docker-Socket in einen Container verlagere, um den Docker-Daemon des Hosts in einem Container verfügbar zu machen. Fein.Docker: Alias-Befehlsname zum Ausführen eines weiteren gleichgeordneten Docker-Containers

Ich habe eine dockerisierte Anwendung A, die auf Dateien auf dem Host arbeiten kann.

Ich habe eine andere dockerisierte Anwendung B, die diese Anwendung A verwenden möchte, um auf Dateien auf dem Host zu arbeiten, ist aber hardcodiert, um /usr/bin/A filename aufzurufen.

Wie alias I /usr/bin/A im Behälter B, so dass es auf den anderen Behälter rufen wird, wie

docker run -ti --rm A filename

+0

Ihre Frage ist mir nicht klar, besonders "die Anwendung A für Dateien auf dem Host verwenden möchte, aber fest codiert ist/usr/bin/A Dateiname" – Alkaline

Antwort

1

Sie könnten nur /usr/bin/A in Behälter B mit einem Shell-Skript ersetzen:

#!/bin/sh 
docker run -ti --rm A "[email protected]" 

Sie könnten dies in das Bild selbst tun (über Ihre Dockerfile), oder Sie könnten das Skript bin-mounten, wenn Sie Container B (docker run -v /path/to/my/script:/usr/bin/A ...) starten.

Jetzt führen Sie /usr/bin/A some_filename und es sollte das Richtige tun, vorausgesetzt, dass Sie docker innerhalb des Containers erfolgreich ausführen können.

+0

Das war im Nachhinein schmerzhaft offensichtlich, danke Sie. – THM

Verwandte Themen