Docker Scout ãš Artifactory ã®çµ±å
Docker Scout ã JFrog Artifactory ãšçµ±åããããšã§ãArtifactory ã¬ãžã¹ããªå ã®ã€ã¡ãŒãžã«å¯ŸããŠèªåçã«ã€ã¡ãŒãžåæãå®è¡ã§ããŸãã
ããŒã«ã«ã€ã¡ãŒãžåæ
Docker Desktop ã Docker CLI ã䜿çšããŠãArtifactory ã€ã¡ãŒãžã®è匱æ§ãããŒã«ã«ã§åæã§ããŸãããŸããdocker login
ã³ãã³ãã䜿çšã㊠JFrog Artifactory ã«èªèšŒããå¿
èŠããããŸããäŸãã°æ¬¡ã®ããã«ããŸãã
docker login {URL}
ã¯ã©ãŠããã¹ãåã® Artifactory ã§ã¯ãArtifactory UI ã§ãªããžããªãéžæããSet Me Up ãã¿ã³ãã¯ãªãã¯ãããšããªããžããªã®èªèšŒæ å ±ã確èªã§ããŸãã
ãªã¢ãŒãã€ã¡ãŒãžåæ
ãªã¢ãŒãç°å¢ã§å®è¡äžã®ã€ã¡ãŒãžãèªåçã«åæããã«ã¯ãDocker Scout Artifactory ãšãŒãžã§ã³ãããããã€ããå¿ èŠããããŸãããã®ãšãŒãžã§ã³ãã¯ã¹ã¿ã³ãã¢ãã³ã®ãµãŒãã¹ã§ãã€ã¡ãŒãžãåæãããã®çµæã Docker Scout ã«ã¢ããããŒãããŸããçµæã¯Docker Scout ããã·ã¥ããŒãâã§ç¢ºèªã§ããŸãã
ãšãŒãžã§ã³ãã®ä»çµã¿
Docker Scout Artifactory ãšãŒãžã§ã³ãã¯ãDocker Hub äžã®ã€ã¡ãŒãžâãšããŠå©çšå¯èœã§ãããšãŒãžã§ã³ã㯠Artifactory ãç¶ç¶çã«ããŒãªã³ã°ããæ°ããã€ã¡ãŒãžãæ€åºãããšæ¬¡ã®æé ãå®è¡ããŸãã
- Artifactory ããã€ã¡ãŒãžããã«ãã
- ã€ã¡ãŒãžãåæãã
- åæçµæã Docker Scout ã«ã¢ããããŒããã
ãšãŒãžã§ã³ãã¯ã€ã¡ãŒãžã®ãœãããŠã§ã¢éšåè¡š (SBOM) ãšããã¹ãŠã®ããŒã¹ã€ã¡ãŒãžã® SBOM ãèšé²ããŸããèšé²ããã SBOM ã«ã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã (OS) ã¬ãã«ãšã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®ããã°ã©ã ãäŸåé¢ä¿ãå«ãŸããŸãã
ãŸãããšãŒãžã§ã³ãã¯ä»¥äžã®ã¡ã¿ããŒã¿ã Docker Scout ã«éä¿¡ããŸãã
- ã€ã¡ãŒãžã®ãœãŒã¹ãªããžã㪠URL ãšã³ããã SHA
- ãã«ãæ瀺
- ãã«ãæ¥
- ã¿ã°ãšãã€ãžã§ã¹ã
- 察象ãã©ãããã©ãŒã
- ã¬ã€ã€ãŒãµã€ãº
ãšãŒãžã§ã³ãã¯ã€ã¡ãŒãžæ¬äœãã€ã¡ãŒãžå éšã®ããŒã¿ïŒã³ãŒãããã€ããªãã¬ã€ã€ãŒãããïŒãéä¿¡ããŸããã
ãšãŒãžã§ã³ãã¯ãäºåã«ååšããã€ã¡ãŒãžã®æ€åºãåæã¯è¡ããããšãŒãžã§ã³ãã®å®è¡äžã«ã¬ãžã¹ããªã«åºçŸããã€ã¡ãŒãžã®ã¿ãåæããŸãã
ãšãŒãžã§ã³ãã®ãããã€
以äžã®æé ã«åŸã£ãŠ Artifactory ãšãŒãžã§ã³ãããããã€ããŸãã
åææ¡ä»¶
ãšãŒãžã§ã³ãããããã€ããåã«ã以äžã®åææ¡ä»¶ã確èªããŠãã ããã
- ãšãŒãžã§ã³ãããã¹ããããµãŒããŒã次ã®ãªãœãŒã¹ã«ãããã¯ãŒã¯çµç±ã§ã¢ã¯ã»ã¹ã§ããããš:
- JFrog Artifactory ã€ã³ã¹ã¿ã³ã¹
- Docker ã§èªèšŒããããã®
hub.docker.com
ãããŒã 443 - Docker Scout ã«ããŒã¿ãéä¿¡ããããã®
api.dso.docker.com
ãããŒã 443
- ã¬ãžã¹ããªã Docker V2 ã¬ãžã¹ããªã§ããããšãV1 ã¬ãžã¹ããªã¯ãµããŒããããŠããŸããã
ãšãŒãžã§ã³ãã¯ãã¹ãŠã®ããŒãžã§ã³ã® JFrog Artifactory ãš JFrog Container Registry ã«å¯Ÿå¿ããŠããŸãã
èšå®ãã¡ã€ã«ã®äœæ
ãšãŒãžã§ã³ã㯠JSON ãã¡ã€ã«ã§èšå®ããŸãããšãŒãžã§ã³ãã¯ãèµ·åæã«èšå®ãã¡ã€ã«ã /opt/artifactory-agent/data/config.json
ã«ååšããããšãæåŸ
ããŸãã
èšå®ãã¡ã€ã«ã«ã¯ä»¥äžã®ããããã£ãå«ãŸããŸãã
ãããã㣠| 説æ |
---|---|
agent_id | ãšãŒãžã§ã³ãã®äžæèå¥å |
docker.organization_name | Docker Organization ã®åå |
docker.username | Docker Organization ã®ç®¡çè ãŠãŒã¶ãŒã®ãŠãŒã¶ãŒå |
docker.pat | èªã¿åãããã³æžã蟌ã¿æš©éãæã€ç®¡çè ãŠãŒã¶ãŒã®ããŒãœãã«ã¢ã¯ã»ã¹ããŒã¯ã³ã |
artifactory.base_url | Artifactory ã€ã³ã¹ã¿ã³ã¹ã®ããŒã¹ URL |
artifactory.username | ãšãŒãžã§ã³ãã䜿çšããèªã¿åãæš©éãæ〠Artifactory ãŠãŒã¶ãŒã®ãŠãŒã¶ãŒå |
artifactory.password | Artifactory ãŠãŒã¶ãŒã®ãã¹ã¯ãŒããŸã㯠API ããŒã¯ã³ |
artifactory.image_filters | ãªãã·ã§ã³: åæ察象ã®ãªããžããªãšã€ã¡ãŒãžã®ãªã¹ãã |
artifactory.image_filters
ã«ãªããžããªãæå®ããªãå ŽåããšãŒãžã§ã³ã㯠Artifactory ã€ã³ã¹ã¿ã³ã¹å
ã®ãã¹ãŠã®ã€ã¡ãŒãžãåæããŸãã
以äžã¯ãµã³ãã«èšå®ã®ã¹ããããã§ãã
{
"agent_id": "acme-prod-agent",
"docker": {
"organization_name": "acme",
"username": "mobythewhale",
"pat": "dckr_pat__dsaCAs_xL3kNyupAa7dwO1alwg"
},
"artifactory": [
{
"base_url": "https://acme.jfrog.io",
"username": "acmeagent",
"password": "hayKMvFKkFp42RAwKz2K",
"image_filters": [
{
"repository": "dev-local",
"images": ["internal/repo1", "internal/repo2"]
},
{
"repository": "prod-local",
"images": ["staging/repo1", "prod/repo1"]
}
]
}
]
}
èšå®ãã¡ã€ã«ãäœæãããšãŒãžã§ã³ããå®è¡ããäºå®ã®ãµãŒããŒäžã®é©åœãªå Žæã«ä¿åããŸãïŒäŸ: /var/opt/artifactory-agent/config.json
ïŒã
ãšãŒãžã§ã³ãã®å®è¡
以äžã¯ docker run
ã䜿çšã㊠Docker Scout Artifactory ãšãŒãžã§ã³ããå®è¡ããäŸã§ãããã®ã³ãã³ãã¯ãå
ã«äœæãã JSON èšå®ãã¡ã€ã«ãå«ãŸãããã£ã¬ã¯ããªã /opt/artifactory-agent/data
ã«ãã€ã³ãããŠã³ãããŸãã䜿çšããããŠã³ããã¹ã config.json
ãã¡ã€ã«ãå«ããã£ã¬ã¯ããªã§ããããšã確èªããŠãã ããã
Artifactory ãšãŒãžã§ã³ãã€ã¡ãŒãžã® v1
ã¿ã°ã䜿çšããŠãã ãããlatest
ã¿ã°ã®äœ¿çšã¯é¿ããŠãã ãããäºææ§ã®ãªãå€æŽãçºçããå¯èœæ§ããããŸãã
$ docker run \
--mount type=bind,src=/var/opt/artifactory-agent,target=/opt/artifactory-agent/data \
docker/artifactory-agent:v1
æ¢åããŒã¿ã®åæ
ããã©ã«ãã§ã¯ããšãŒãžã§ã³ãã¯ã€ã¡ãŒãžãäœæãŸãã¯æŽæ°ããããã³ã«ãããæ€åºããŠåæããŸããæ¢åã®ã€ã¡ãŒãžããšãŒãžã§ã³ãã§åæãããå Žåã¯ãããã¯ãã£ã«ã¢ãŒãã䜿çšã§ããŸãããšãŒãžã§ã³ããããã¯ãã£ã«ã¢ãŒãã§å®è¡ããã«ã¯ã--backfill-from=TIME
ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ã䜿çšããŸããTIME
㯠ISO 8601 圢åŒã®æå»ã§ãããã®ãªãã·ã§ã³ã䜿çšãããšããšãŒãžã§ã³ãã¯éå§æã«æå®ããæå»ããçŸåšãŸã§ã«ããã·ã¥ããããã¹ãŠã®ã€ã¡ãŒãžãåæããçµäºããŸãã
äŸ:
$ docker run \
--mount type=bind,src=/var/opt/artifactory-agent,target=/opt/artifactory-agent/data \
docker/artifactory-agent:v1 --backfill-from=2022-04-10T10:00:00Z
ããã¯ãã£ã«ãè€æ°åå®è¡ããå ŽåããšãŒãžã§ã³ãã¯æ¢ã«åæããã€ã¡ãŒãžãå床åæããŸãããååæã匷å¶ããã«ã¯ã--force
ã³ãã³ãã©ã€ã³ãã©ã°ãæå®ããŠãã ããã
åæçµæã®è¡šç€º
Docker Scout ããã·ã¥ããŒãã§ã€ã¡ãŒãžåæçµæã衚瀺ã§ããŸãã
-
Docker Scout ããã·ã¥ããŒãã®ã€ã¡ãŒãžããŒãžâã«ç§»åããŸãã
ãã®ããŒãžã«ã¯ãDocker Scout ãæå¹åããã Organization å ã®ãªããžããªã衚瀺ãããŸãã
-
ãªã¹ãå ã®ã€ã¡ãŒãžãéžæããŸãã
-
ã¿ã°ãéžæããŸãã
ã¿ã°ãéžæãããšããã®ã¿ã°ã®è匱æ§ã¬ããŒãã«ç§»åããŸããããã§ãã€ã¡ãŒãžå ã®ãã¹ãŠã®è匱æ§ãç¹å®ã®ã¬ã€ã€ãŒã§å°å ¥ãããè匱æ§ã衚瀺ã§ããŸãããŸããè匱æ§ãé倧床ãä¿®æ£ããŒãžã§ã³ã®æç¡ã§ãã£ã«ã¿ãªã³ã°ããããšãå¯èœã§ãã