docker run-Programm-Argumente in der aws ecs
Ich habe einen container, in Amazon ECS läuft ein Programm als Aufgabe. Ich möchte einige Programm-Argumente, wie ich tun würde, wenn lokal ausgeführt mit docker run
. Ich habe es geschafft, zu tun ist die übergabe eines neuen entrypoint in den container configuration in ECS, als wenn ich Sie es die docker run
Befehlszeile.
Leider, wenn Sie dies tun, ich bin das überschreiben der internen entrypoint, die bereits definiert wurde, in der Bild. Ich würde gerne die interne entrypoint, nur das hinzufügen einige mehrere Kommandozeilen-Argumente, wie --debug
Optionen. Gibt es eine Möglichkeit, das zu tun?
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
1. Wenn Sie normalerweise übergeben Sie in der Befehlszeile Argumente an Ihr Skript wie
2. Und Sie haben ein docker image mit einem entrypoint, um das Skript auszuführen, wie
3. Dann, wenn die Bearbeitung einer Aufgabe/container-definition über die aws ecs-Benutzer, Schnittstelle, Sie müssen die Argumente in der "Command" - Feld unter der "Umgebung" der container-Einstellungen und ersetzen Sie alle Leerzeichen zwischen den Argumenten und Werten mit Kommas, etwa so:
Elemente mit Leerzeichen wie
joe schmoe
zitiert als "joe schmoe", das ist, warum so etwas wie--quality best
nicht funktionieren würde, und stattdessen muss ein Komma getrennt als--quality,best
4. Nachdem Sie die Aufgabe erstellt, wenn Sie einen Blick in den container-details in der Aufgabenstellung, der Befehl wird angezeigt als:
welche die gleiche syntax akzeptierten die CMD Unterricht in einem Dockerfile.
Beim ausführen einer Aufgabe in ECS können Sie angeben, container überschreibt.
In der AWS-Konsole dazu finden Sie unten in der Erweiterte Optionen Abschnitt.
Auf der CLI können Sie pass in ein JSON-Objekt mit dem überschreibt, etwa so:
Den
command
ist dieCMD
ausgeführt wird, im inneren des Behälters.In der gleichen Weise Umgebungsvariablen übergeben werden können, um einen container. Hier ist die Liste der möglichen Optionen, wie beschrieben in der aws-cli-docs:
aus irgendeinem Grund die
name
immer gesetzt sein muss, in der überschreibt. \_(ツ)_/War es einfach: die Kommandozeilen-Argumente übergeben werden können, wie Befehl in ECS Konfiguration, statt der entrypoint.
Können Sie fügen Sie BefehlszeilenArgumente für den container, der Einstiegspunkt, wenn neue ECS-task-revision in der AWS-Konsole. Öffnen Sie Ihren container settings und im Rahmen des UMWELT-label setzen Sie das Komma-getrennte Liste von Kommandozeilen-Argumenten in die "Command" - Feld.
Beispiel:
hinzufügen 2 Kommandozeilen-Argumente, um Ihre container Einstiegspunkt.
--debug,--packages,org.apache.hadoop:hadoop-aws:2.7.3
mit einem Komma zwischen-Pakete und deren WertUmwelt Abschnitt in ecs Aufgabenstellung zu injizieren deine configs.
Bitte beachten Sie die folgenden aws-Dokumentation
http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_environment