我试图实现与maven提供的SNAPSHOT版本相同的机制。 基本上,每当我有一个Dockerfile的开发,我想能够在我的私人注册表中创建临时版本。Docker开发版本/快照
我可以创建一个标签并强制推送这个标签,但我宁愿在给定标签的注册表中保留一个版本。
如果Docker镜像A依赖于B(例如在1.2.SNAPSHOT上),那么最新的1.2.x标签将被拉出。
图像版本中是否存在一个特殊的关键字,可以执行我实际尝试实现的功能?
希望这是很清楚:)
我试图实现与maven提供的SNAPSHOT版本相同的机制。 基本上,每当我有一个Dockerfile的开发,我想能够在我的私人注册表中创建临时版本。Docker开发版本/快照
我可以创建一个标签并强制推送这个标签,但我宁愿在给定标签的注册表中保留一个版本。
如果Docker镜像A依赖于B(例如在1.2.SNAPSHOT上),那么最新的1.2.x标签将被拉出。
图像版本中是否存在一个特殊的关键字,可以执行我实际尝试实现的功能?
希望这是很清楚:)
我没有使用过,但它听起来像是被用于Maven的快照指示开发版本。因此,新版本总是被检查并提取。
为了在docker中获得类似的行为,我相信你需要检查每个构建的新基础镜像。这是在码头建设中的一个选项:--pull
docker build --pull -t myimage .
你是对的,快照是发展的verisons。但是,它们并不总是从远程注册表/存储库中获取。仅当远程源文件较新时,才会拉动版本 –
有用的知识 - 在我的测试中'--pull'的工作方式相同 - 如果本地版本最新,它将跳过下载。 –
不知道我是否有正确的理解。例如,你有标签'1.1.1','1.1.2','1.1.3',并且已经有一个新的主要版本'1.2'以及一些次要版本。然后,如果你在'1.1'版本中发现了一些问题,那么你想要建立一个标签为'1.1.4'的新版本(我们称之为“补丁”),并且你希望所有更多的主要版本(例如'1.2。')会受到这个“补丁”的影响吗? –
oakymax
我不禁想到这里的正确答案是每次构建两次,一次是'1.1.x',一次是''命名标记。 '1.1.x'永远不会改变,但''将会改变。 –
Matthew