0

我想像这样运行一个 docker 容器:

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

这将导致执行以下入口点:

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

所以我的问题是我如何构造 ENTRYPOINT 以便它可以解决$backup-label以及如何传递backup-labelin ...我是否需要单引号...在它前面有一个破折号...?

4

1 回答 1

2

当您的图像中有一个脚本时,该脚本将接收命令行ENTRYPOINT上图像之后传递的任何参数。docker run也就是说,如果您有:

ENTRYPOINT /path/to/my/script.sh

你运行:

docker run myimage one two three

您的ENTRYPOINT脚本将被称为:

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

从那时起,就像编写任何其他带有参数的 shell 脚本一样:

#!/bin/sh

backup_label=$1
duplicity /target file:///backup/$backup_label
于 2016-05-19T13:29:54.450 回答