Хорошее решение - использовать сценарий оболочки как CMD
или ENTRYPOINT
.
Если вы хотите передать переменные в сценарий, вы можете использовать -e для передачи любых переменных среды в сценарий: docker run -e backup-label = somelabel
. Эта опция имеет то преимущество, что вы можете настраивать различные области без интерпретации параметров. Я предлагаю также изучить синтаксис $ {variable: -}
.
В вашем случае: docker run --rm -e backup-label = somelabel -it -v data-volume: / target -v backup-volume / label-for-backup: / backup duplicity-backup- image
Сценарий оболочки (убедитесь, что он исполняемый):
#!/bin/sh
mkdir -p /backup/$backup-label
duplicity /target file:///backup/$backup-label
( другой ответ , возможно, является более элегантным решением для вашего варианта использования. Но этот вопрос немного отличается, и ответ тоже . Так что для справки. Также, как будто ваши требования должны стать более сложными ...)