docker / sbom-cli-plugin

Plugin for Docker CLI to support SBOM creation using Syft
Apache License 2.0
150 stars 15 forks source link

Incorporate docker host and context functionality #8

Closed wagoodman closed 2 years ago

wagoodman commented 2 years ago

Uses the docker client object obtained from the plugin infrastructure directly, instead of anchore/stereoscope from deriving a new client. This enables DOCKER_HOST and DOCKER_CONTEXT functionality (and others) automatically:


$ docker version
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

$ docker --context vm version
Client:
 Cloud integration: v1.0.22
 Version:           20.10.11
...

Server: Docker Engine - Community
 Engine:
  Version:          20.10.3
  API version:      1.41 (minimum version 1.12)
...

$ docker --context vm sbom alpine:latest -o /dev/null
Syft v0.41.1
 ✔ Loaded image            
 ✔ Parsed image            
 ✔ Cataloged packages      [14 packages]

$ docker --host ssh://wagoodman@vm sbom alpine:latest -o /dev/null
Syft v0.41.1
 ✔ Loaded image            
 ✔ Parsed image            
 ✔ Cataloged packages      [14 packages]  

$ DOCKER_HOST=ssh://wagoodman@vm docker sbom alpine:latest -o /dev/null
Syft v0.41.1
 ✔ Loaded image            
 ✔ Parsed image            
 ✔ Cataloged packages      [14 packages]

$ DOCKER_CONTEXT=vm docker sbom alpine:latest -o /dev/null
Syft v0.41.1
 ✔ Loaded image            
 ✔ Parsed image            
 ✔ Cataloged packages      [14 packages]