Uma boa solução é usar um script de shell como CMD
ou ENTRYPOINT
.
Se quiser passar variáveis para o script, você pode usar -e para passar quaisquer variáveis de ambiente para o script: docker run -e backup-label=somelabel
. Esta opção tem a vantagem de poder configurar várias áreas sem interpretar os parâmetros. Sugiro também analisar a % sintaxe${variable:-}
.
No seu caso: docker run --rm -e backup-label=somelabel -it -v data-volume:/target -v backup-volume/label-for-backup:/backup duplicity-backup-image
O script de shell (verifique se é executável):
#!/bin/sh
mkdir -p /backup/$backup-label
duplicity /target file:///backup/$backup-label
(A outra resposta talvez seja a mais elegante solução para o seu caso de uso. Mas essas perguntas são um pouco diferentes, e a resposta também. Então, para referência. Além disso, como se suas necessidades se tornassem mais complicadas ...)