Add initial desired README.md

This commit is contained in:
Joe 2021-04-26 16:14:28 -05:00
parent 929ef0e127
commit 4c420c3cf4
1 changed files with 41 additions and 0 deletions

41
README.md Normal file
View File

@ -0,0 +1,41 @@
# Docker Artifact
> Use docker image labels to identify which image layer contains a particular file, enabling retrieving just that file (well, the layer the file is in) from the image without needing to download the whole image.
## Setup
### Prerequisites
Requires the `jq` and `curl` programs to be installed on your PATH.
### Installation
Download `docker-artifact.sh` file from this repository and install it at `~/.docker/cli-plugins/docker-artifact` (note the lack of `.sh` suffix) with execute permissions. Validate correct installation by observing the `artifact` command listed in `docker help`.
-OR-
Run the following command in your shell:
```bash
mkdir -p ~/.docker/cli-plugins && \
curl https://raw.githubusercontent.com/infogulch/docker-artifact/master/docker-artifact.sh > ~/.docker/cli-plugins/docker-artifact && \
chmod +x ~/.docker/cli-plugins/docker-artifact && \
docker help | grep artifact > /dev/null && echo "Docker artifact install succeeded!" || echo "Docker artifact install failed :("
```
## Usage
`docker artifact label [image] [file-path-1] [file-path-2] ...`
Adds labels to an existing image enabling the `download` command below to pull just the layers that contain the file paths specified above.
Note: `download` must download the whole layer; to optimize for artifact download size, add the target files to the image in a separate layer.
`docker artifact download [image] [file-path-1] [file-path-2]`
Downloads the image layers associated with the file paths specified and extracts them into the current directory.
## See also
Related to [timwillfixit's original `docker-artifact`](https://github.com/tomwillfixit/docker-artifact) in spirit, though not in history. The primary difference is that this uses a more precice strategy to search for files.