2016-05-19 5 views
0

referenzieren möchte ich so einen Docker Behälter auszuführen:ein dynamisches Argument in der Docker Entry

docker run --rm -it -v volume1:/target -v volume2:/backup duplicity-image backup-label 

Dies würde die folgende Entry dazu führen, ausgeführt werden sollen:

duplicity /target file:///backup/$backup-label 

Also meine Frage ist, wie strukturiere ich den ENTRYPOINT so, dass er die $backup-label auflösen kann und wie ich die backup-label in ... übergebe. Brauche ich einzelne Anführungszeichen drum herum ... einen Strich davor ...?

TIA, Ole

Antwort

2

Wenn Sie ein ENTRYPOINT Skript in Ihrem Bild, wird das Skript alle Argumente nach dem Bild auf der docker run Befehlszeile übergeben bekommen. Das heißt, wenn Sie:

ENTRYPOINT /path/to/my/script.sh 

Und Sie laufen:

docker run myimage one two three 

Ihre ENTRYPOINT Skript wird wie genannt werden:

/path/to/my/script.sh one two three 

Von diesem Punkt an, es ist wie jedes Schreiben anderes Shell-Skript, das Argumente übernimmt:

#!/bin/sh 

backup_label=$1 
duplicity /target file:///backup/$backup_label 
Verwandte Themen