Context
The CLI command docker build can be used to create new Docker images:
docker build -t myimage:mytag1 -t myimage:mytag2 -f path/to/Dockerfile path/to/build/context
This command will create an archive (tar.gz, tar.xz? can't remember...) of the path/to/build/context folder and upload it to the Docker host. The Docker host will then look for path/to/Dockerfile within that archive and build a Docker image out of it.
It will tag it with myimage:mytag1 and myimage:mytag2.
Such image will not have any DigestID since it does not come from a Docker registry.
Proposal
Add a new API endpoint to the Netbox Docker Agent, such that:
curl \
-X POST \
--data @build-context.tar.gz \
$BASE_URL/api/builder?t=myimage:mytag01&t=myimage:mytag02&f=path/to/Dockerfile
- the
t query parameters (which can appear multiple times) would define which tags to create for the newly built Docker image
- the
f query parameter would specify the path of the Dockerfile within the build context (it defaults to Dockerfile)
- the body of the request is the build context archive
Context
The CLI command
docker buildcan be used to create new Docker images:This command will create an archive (
tar.gz,tar.xz? can't remember...) of thepath/to/build/contextfolder and upload it to the Docker host. The Docker host will then look forpath/to/Dockerfilewithin that archive and build a Docker image out of it.It will tag it with
myimage:mytag1andmyimage:mytag2.Such image will not have any
DigestIDsince it does not come from a Docker registry.Proposal
Add a new API endpoint to the Netbox Docker Agent, such that:
tquery parameters (which can appear multiple times) would define which tags to create for the newly built Docker imagefquery parameter would specify the path of the Dockerfile within the build context (it defaults toDockerfile)