Cannot tag with semantic versioning 2 build info

Semantic Versioning 2 defines the following BNF for a semantic version:

<valid semver> ::= <version core>
                 | <version core> "-" <pre-release>
                 | <version core> "+" <build>
                 | <version core> "-" <pre-release> "+" <build>

The HYPHEN token separates parts which participate inversion ordering/precedence, while the PLUS token separates parts which are merely informative and do not participate in version ordering/precedence. This is particularly useful in a Git dominated world, where it is desirable to append the Git commit hash to pre-release versions; commit hashes are random and must never participate in version ordering/precedence.

Unfortunately, Docker does not allow the PLUS token in tag names. Build tooling that generates semantic versions according with semver 2, adding commit hashes to the “build info” part, will not generate conforming docker tags without manual intervention.

Please expand the tag notation to allow the PLUS token!

References