Используя clair, когда POST / v1 / Layers запрос, получил 400 ответ с ошибкой: «не удалось найти слои» - PullRequest
0 голосов
/ 17 апреля 2019

Я использую clair в моей текущей работе (env это nodejs). Когда я отправляю запрос POST в / v1 / Layers модулем nodejs 'clair-client'. Я получил ошибку «не могу найти слои». Изображение из моего локального хранилища, например "http://192.168.10.118:5000/ubuntu:16.04".

PS: когда я анализирую официальный образ "Ubuntu: 16.04", Clair может работать успешно. После того, как я успешно проанализировал изображение «ubuntu: 16.04», я также могу проанализировать изображение «http://192.168.10.118:5000/ubuntu:16.04" из локального репозитория. Что-то случилось с моим postgres? Я покажу некоторые полезные сведения:

  • ошибка с изображением из моего локального репозитория
{ Layer:
   { Name: '390582d83ead410e808a4d1868a5b1a329241132a76565fd69ab23f60c032d81e082d449913058b0a86fef6c0208e5769b2d024c3bb465b13e53cc0da09e3c4c',
     Path: 'https://192.168.10.118:5000/v2/ubuntu/blobs/sha256:e082d449913058b0a86fef6c0208e5769b2d024c3bb465b13e53cc0da09e3c4c',
     ParentName: '',
     Headers:
      { 'User-Agent': 'node-clair-docker/1.0.0',
        authorization: undefined },
     Format: 'Docker' } }

##response
{ ClairError: error uploading layers for image 'http://192.168.10.118:5000/ubuntu:14.04': 400 - {"Error":{"Message":"could not find layer"}}
  • успех с официальным имиджем
{ Layer:
   { Name: '390582d83ead410e808a4d1868a5b1a329241132a76565fd69ab23f60c032d81e082d449913058b0a86fef6c0208e5769b2d024c3bb465b13e53cc0da09e3c4c',
     Path: 'https://registry.hub.docker.com/v2/library/ubuntu/blobs/sha256:e082d449913058b0a86fef6c0208e5769b2d024c3bb465b13e53cc0da09e3c4c',
     ParentName: '',
     Headers:
      { 'User-Agent': 'node-clair-docker/1.0.0',
        authorization: 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsIng1YyI6WyJNSUlDK2pDQ0FwK2dBd0lCQWdJQkFEQUtCZ2dxaGtqT1BRUURBakJHTVVRd1FnWURWUVFERXpzeVYwNVpPbFZMUzFJNlJFMUVVanBTU1U5Rk9reEhOa0U2UTFWWVZEcE5SbFZNT2tZelNFVTZOVkF5VlRwTFNqTkdPa05CTmxrNlNrbEVVVEFlRncweE9UQXhNVEl3TURJeU5EVmFGdzB5TURBeE1USXdNREl5TkRWYU1FWXhSREJDQmdOVkJBTVRPMUpMTkZNNlMwRkxVVHBEV0RWRk9rRTJSMVE2VTBwTVR6cFFNbEpMT2tOWlZVUTZTMEpEU0RwWFNVeE1Pa3hUU2xrNldscFFVVHBaVWxsRU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcjY2bXkveXpHN21VUzF3eFQ3dFplS2pqRzcvNnBwZFNMY3JCcko5VytwcndzMGtIUDVwUHRkMUpkcFdEWU1OZWdqQXhpUWtRUUNvd25IUnN2ODVUalBUdE5wUkdKVTRkeHJkeXBvWGc4TVhYUEUzL2lRbHhPS2VNU0prNlRKbG5wNGFtWVBHQlhuQXRoQzJtTlR5ak1zdFh2ZmNWN3VFYWpRcnlOVUcyUVdXQ1k1Ujl0a2k5ZG54Z3dCSEF6bG8wTzJCczFmcm5JbmJxaCtic3ZSZ1FxU3BrMWhxYnhSU3AyRlNrL2tBL1gyeUFxZzJQSUJxWFFMaTVQQ3krWERYZElJczV6VG9ZbWJUK0pmbnZaMzRLcG5mSkpNalpIRW4xUVJtQldOZXJZcVdtNVhkQVhUMUJrQU9aditMNFVwSTk3NFZFZ2ppY1JINVdBeWV4b1BFclRRSURBUUFCbzRHeU1JR3ZNQTRHQTFVZER3RUIvd1FFQXdJSGdEQVBCZ05WSFNVRUNEQUdCZ1JWSFNVQU1FUUdBMVVkRGdROUJEdFNTelJUT2t0QlMxRTZRMWcxUlRwQk5rZFVPbE5LVEU4NlVESlNTenBEV1ZWRU9rdENRMGc2VjBsTVREcE1VMHBaT2xwYVVGRTZXVkpaUkRCR0JnTlZIU01FUHpBOWdEc3lWMDVaT2xWTFMxSTZSRTFFVWpwU1NVOUZPa3hITmtFNlExVllWRHBOUmxWTU9rWXpTRVU2TlZBeVZUcExTak5HT2tOQk5sazZTa2xFVVRBS0JnZ3Foa2pPUFFRREFnTkpBREJHQWlFQXFOSXEwMFdZTmM5Z2tDZGdSUzRSWUhtNTRZcDBTa05Rd2lyMm5hSWtGd3dDSVFEMjlYdUl5TmpTa1cvWmpQaFlWWFB6QW9TNFVkRXNvUUhyUVZHMDd1N3ZsUT09Il19.eyJhY2Nlc3MiOlt7InR5cGUiOiJyZXBvc2l0b3J5IiwibmFtZSI6ImxpYnJhcnkvdWJ1bnR1IiwiYWN0aW9ucyI6WyJwdWxsIl19XSwiYXVkIjoicmVnaXN0cnkuZG9ja2VyLmlvIiwiZXhwIjoxNTU1NDcwOTQ4LCJpYXQiOjE1NTU0NzA2NDgsImlzcyI6ImF1dGguZG9ja2VyLmlvIiwianRpIjoiMzlfNW9IV0MxWEl1Q1o2M1lhYWgiLCJuYmYiOjE1NTU0NzAzNDgsInN1YiI6IiJ9.rGHMrHh1akViCqE94AJs3aNc8D--gKzoNRuoE1P4kN61JtWhPs8YpluAQae4QRO-7ijOo5r-Nm8IcMIv-4uw-o1T3DNVEfE6o7tuEnjrblr_BzxDMrOUiN0NmuELTSQRZfM-EmcxvIdmlPlGfalPqg_oNGjyRtOoXs90AsVh34f-FFitoMqTUSKgn-0e7oeEJ3IIj2VhBOkyXUB73BSThLi8D7OrMK1G1DRA_vkrCUM5cnNPKnZ0EWiHnSY0lIY0EvDbnDzNsNpMSv235pHlSCRCjeKKQhcZ9WImbRQOMnKSinA-tp02vCq3HyocxgCMIcf8p9x5rdDcIzEaOr-jug' },
     Format: 'Docker' } }

##response
{ isVulnerable: false,
  image: 'ubuntu:14.04',
  layers:
   [...],
  vulnerabilities: [] }
  • после анализа официального iamge, анализа изображения из локального репозитория
{ Layer:
   { Name: '390582d83ead410e808a4d1868a5b1a329241132a76565fd69ab23f60c032d81e082d449913058b0a86fef6c0208e5769b2d024c3bb465b13e53cc0da09e3c4c',
     Path: 'https://192.168.10.118:5000/v2/ubuntu/blobs/sha256:e082d449913058b0a86fef6c0208e5769b2d024c3bb465b13e53cc0da09e3c4c',
     ParentName: '',
     Headers:
      { 'User-Agent': 'node-clair-docker/1.0.0',
        authorization: undefined },
     Format: 'Docker' } }

##response
{ isVulnerable: false,
  image: 'http://192.168.10.118:5000/ubuntu:14.04',
  layers:
   [...],
  vulnerabilities: [] }
...