多克参考
用于解析并处理 Docker 图像引用的小包 .
开始
要使用 Docker 引用, 您应该从创建 Reference 实例:
const { Reference } = require('@codefresh-io/docker-reference');
const imageReference = new Reference({
domain: 'r.cfcr.io',
repository: 'codefresh/demochat',
tag: 'master',
digest: 'sha256:58fe87ff24d5a3ac35c887dcef82eb619565987c1083282f876c7c2657a5f94e'
});
console.log(imageReference.repositoryUrl); // r.cfcr.io/codefresh/demochat
console.log(imageReference.toString()); // r.cfcr.io/codefresh/demochat:master@sha256:58fe87ff24d5a3ac35c887dcef82eb619565987c1083282f876c7c2657a5f94e
使用解析器
您也可以使用 parser 创建您的 Reference 实例:
const { parseQualifiedName } = require('@codefresh-io/docker-reference');
const imageReference = parseQualifiedName('r.cfcr.io/codefresh/demochat:master@sha256:58fe87ff24d5a3ac35c887dcef82eb619565987c1083282f876c7c2657a5f94e');
console.log(imageReference.domain); // r.cfcr.io
console.log(imageReference.repository); // codefresh/demochat
console.log(imageReference.tag); // master
console.log(imageReference.digest); // sha256:58fe87ff24d5a3ac35c887dcef82eb619565987c1083282f876c7c2657a5f94e
软件包中有3个解析器:
-
parseQualifiedName数字 :当解析一个代表合格图像的字符串时应当使用此选项 引用,指字符串至少应当包含域和 图像仓库.
-
parseFamiliarName数字 :当解析一个代表熟悉图像的字符串时,应该使用此功能 引用,表示字符串可能不包含域部分和此 如果域部分变成
docker.io。当域是 缺少, 存储器只包含一个部分 前缀为library/。 。 。 .此解析器将解析所有符合条件的图像引用, 与
parseQualifiedName解析器 -
parseAll数字 :当解析一个代表熟悉图像的字符串时,应该使用此功能 参考或标识符.
此解析器将解析所有符合条件的图像引用, 与
parseQualifiedName解析并解析每个熟悉的图像引用 与parseFamiliarName
软件包的格莱默
| 花纹 | |
|---|---|
reference | name [ ":" tag ] [ "@" digest ] |
name | [domain '/'] path-component ['/' path-component]* |
domain | domain-component ['.' domain-component]* [':' port-number] |
domain-component | [a-zA-Z0-9] (中文(简体) ) |
port-number | /[0-9]+/ |
path-component | alpha-numeric [separator alpha-numeric]* |
alpha-numeric | /[a-z0-9]+/ |
separator | `/[.] |
tag | /[\w][\w.-]{0,127}/ |
digest | digest-algorithm ":" digest-hex |
digest-algorithm | digest-algorithm-component [ digest-algorithm-separator digest-algorithm-component ]* |
digest-algorithm-separator | /[+.-_]/ |
digest-algorithm-component | /[A-Za-z][A-Za-z0-9]*/ |
digest-hex | /[0-9a-fA-F]{32,}/ (至少128位文摘值) |
identifier | /[a-f0-9]{64}/ |
short-identifier | /[a-f0-9]{6,64}/ |