Camunda Docker镜像Tag格式规范

问题描述

Docker Hub上Camunda Bpm Platform这个镜像仓库,Tags页里有很多的镜像,名称又分成很多种,看起来是比较杂乱(所有可用Tag)。

本文主要记录一下Camunda的Docker镜像命名格式。

我们可以看到这些Tag有的是run开头加上版本号,有的是widfly开头加上版本号,有的是tomcat开头加上版本号,还有的只有版本号。

image-20210721103306545

这么多的Tag目的是为了能让用户选择不同类型的Camunda服务器平台,即:tomcat, wildfly或者run。

Tag规范

${DISTRO}变量代表的是Camunda的发行版类型,可以是:tomcatwildflyrun

如果没有指定这个${DISTRO}变量,就默认为tomcat,也就是说:7.15.0就等同于tomcat-7.15.0

Camunda Docker命名的规范:

  • latest${DISTRO}-latest:始终是 Camunda 平台的最新次要版本。

  • ${VERSION}${DISTRO}-${VERSION}:Camunda 平台的特定版本。

  • SNAPSHOT, ${VERSION}-SNAPHOST, ${DISTRO}-SNAPSHOT${DISTRO}-${VERSION}-SNAPSHOT: Camunda 平台目前还没有发布的最新快照版本。

详细说明

我们可以借助镜像的sha256签名值DIGEST或压缩后的大小COMPRESSED SIZE来判定是不是同一个镜像。

最新版本

不指定平台

latest

按照Camunda GitHub Page中的描述:“If no ${DISTRO} is specified the tomcat distribution is used.”,如果没有指定应用服务器的平台,则认为是tomcat。

结论

latest == tomcat-latest == tomcat

验证
Tag DISGEST Sha256 Compressed Size
latest 2f63745711b43571ebdcdadb21cf35d9c6fb7de963f8cffee40cb67fe9d62ded 118.03MB
tomcat 2f63745711b43571ebdcdadb21cf35d9c6fb7de963f8cffee40cb67fe9d62ded 118.03MB
tomcat-latest 2f63745711b43571ebdcdadb21cf35d9c6fb7de963f8cffee40cb67fe9d62ded 118.03MB

image-20210722164948884

指定平台

tomcat-latest, wildfly-latest或run-latest

结论

latest == tomcat-latest)!= wildfly != run-latest

验证
Tag DISGEST Sha256 Compressed Size
latest 2f63745711b43571ebdcdadb21cf35d9c6fb7de963f8cffee40cb67fe9d62ded 118.03MB
tomcat-latest 2f63745711b43571ebdcdadb21cf35d9c6fb7de963f8cffee40cb67fe9d62ded 118.03MB
wildfly-latest 7ca421510bbdda9cabde07861efe9c8f04dde5ee2d0e68b9f9ff923c8a65a38d 294.71MB
run-latest c0d784bc5e0f02b8446b2e422c446f08a84ddcc6a274130e79c0939c91e8b3da 114.26MB

image-20210723100514735

指定版本

${VERSION} 或 ${DISTRO}-${VERSION}

同上,如果不指定${DISTRO}就是指的tomcat

结论

{$VERSION} == tomcat-${VERSION})!= wildfly-${VERSION} != run-${VERSION}

验证

Tag DISGEST Sha256 Compressed Size
7.15.0 ee934ceb2211cec58b6bf39b236094aeb101ebf4d9f5c90b321db602d986245c 118.03MB
tomcat-7.15.0 ee934ceb2211cec58b6bf39b236094aeb101ebf4d9f5c90b321db602d986245c 118.03MB
wildfly-7.15.0 fc85d0d2096a6ca01713c49196aa76dc85d06ecca63beb3102c27fda7f758496 294.71MB
run-7.15.0 5e58b63d1ff52ce67802fa26741cd1b72da336ea69a9f19f871fea3e938a8961 114.26MB

image-20210723105933854

快照版本

结论

SNAPSHOT == ${VERSION}-SNAPSHOT == tomcat-SNAPSHOT == tomcat-${VERSION}-SNAPSHOT

!=

(wildfly-SNAPSHOT == wildfly-{$VERSION}-SNAPSHOT)

!=

(run-SNAPSHOT == run-{$VERSION}-SNAPSHOT)

验证

Tag DISGEST Sha256 Compressed Size
SNAPSHOT 0ac4823ac3363250be49d2bf1932dd10c31f138f57660dbcb6c7fe4004c883dc 118.03MB
7.16.0-SNAPSHOT 0ac4823ac3363250be49d2bf1932dd10c31f138f57660dbcb6c7fe4004c883dc 118.03MB
tomcat-SNAPSHOT 0ac4823ac3363250be49d2bf1932dd10c31f138f57660dbcb6c7fe4004c883dc 118.03 MB
tomcat-7.16.0-SNAPSHOT 0ac4823ac3363250be49d2bf1932dd10c31f138f57660dbcb6c7fe4004c883dc 118.03 MB
wildfly-SNAPSHOT aba180ce0146be2c386b6e5b64e10ba8ae3d06bb1e4bc4de3a72d23083d40b9f 294.71 MB
wildfly-7.16.0-SNAPSHOT aba180ce0146be2c386b6e5b64e10ba8ae3d06bb1e4bc4de3a72d23083d40b9f 294.71 MB
run-SNAPSHOT 3e1ac858bfbcfb371af1fc68b0a6fe7cb9e465d040da7cd97fe6ed34d46da584 114.26MB
run-7.16.0-SNAPSHOT 3e1ac858bfbcfb371af1fc68b0a6fe7cb9e465d040da7cd97fe6ed34d46da584 114.26MB

image-20210723141523583

image-20210723141402185

image-20210723141334361

引申内容

  • wildfly的前身是JBoss AS,后来被RedHat收购了

  • run这个发行包,内置了swagger-ui,可以非常非常容易调试Camunda REST API:

    1
    2
    3
    4
    5
    # 运行容器
    docker run -d --name camunda -p 8080:8080 -p 8081:8081 camunda/camunda-bpm-platform:run-7.15.0

    # 从Camunda Platform 7.15.0开始引入的SwggerUI,可以通过访问下面URL:
    http://localhost:8080/swaggerui/

    Camunda Platform Run distribution SwaggerUI

  • run这个发行包,支持不同的启动参数,来决定是否启用WebApp、REST API或SwaggerUI。默认它们三个都是启用的。

参考