Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/docker/hub-tool

๐Ÿงช Docker Hub experimental CLI tool
https://github.com/docker/hub-tool

cli container docker hub image registry

Last synced: about 1 month ago
JSON representation

๐Ÿงช Docker Hub experimental CLI tool

Awesome Lists containing this project

README

        

# ๐Ÿงช Docker Hub Tool

> :warning: This tool is a Docker experiment to build a Docker Hub CLI tool.
> The intention of this project is to get user feedback and then to add this
> functionality to the Docker CLI.

The Docker Hub Tool is a CLI tool for interacting with the
[Docker Hub](https://hub.docker.com).
It makes it easy to get information about your images from the terminal and to
perform Hub maintenance tasks.

## Get started

### Prerequisites

- [Docker](https://www.docker.com/products/docker-desktop) installed on your
system
- [A Docker Hub account](https://hub.docker.com)

### Install

- Download the latest release for your platform from
[here](https://github.com/docker/hub-tool/releases)
- Extract the package and place the `hub-tool` binary somewhere in your `PATH`

OR

- Install from sources: `GO111MODULE=on go get github.com/docker/hub-tool`

### Login to Docker Hub

Login to the [Docker Hub](https://hub.docker.com) using your username and
password:

```console
hub-tool login yourusername
```

> **Note:** When using a
> [personal access token (PAT)](https://docs.docker.com/docker-hub/access-tokens/),
> not all functionality will be available.

### Listing tags

```console
TAG DIGEST STATUS LAST UPDATE LAST PUSHED LAST PULLED SIZE
docker:stable-dind-rootless sha256:c96432c62569526fc710854c4d8441dae22907119c8987a5e82a2868bd509fd4 stale 3 days ago 3 days 96.55MB
docker:stable-dind sha256:f998921d365053bf7e3f98794f6c23ca44e6809832d78105bc4d2da6bb8521ed stale 3 days ago 3 days 274.6MB
docker:rc-git sha256:2c4980f5700c775634dd997484834ba0c6f63c5e2384d22c23c067afec8f2596 stale 3 days ago 3 days 302.6MB
docker:rc-dind-rootless sha256:ed25cf41ad0d739e26e2416fb97858758f3cfd1c6345a11c2d386bff567e4060 stale 3 days ago 3 days 103.5MB
docker:rc-dind sha256:a1e9f065ea4b31de9aeed07048cf820a64b8637262393b24a4216450da46b7d6 stale 3 days ago 3 days 288.9MB
docker:rc sha256:f8ecea9dc16c9f6471448a78d3e101a3f864be71bfe3b8b27cac6df83f6f0970 stale 3 days ago 3 days 270.9MB
...
25/957 listed, use --all flag to show all
```

## Contributing

Docker wants to work with the community to make a tool that is useful and to
ensure that its UX is good. Remember that this is an experiment with the goal of
incorporating the learnings into the Docker CLI so it has some rough edges and
it's not meant to be a final product.

### Feedback

Please leave your feedback in the
[issue tracker](https://github.com/docker/hub-tool/issues)!
We'd love to know how you're using this tool and what features you'd like to see
us add.

### Code

At this stage of the project, we're mostly looking for feedback. We will accept
pull requests but these should be limited to minor improvements and fixes.
Anything larger should first be discussed as an issue.
If you spot a bug or see a typo, please feel free to fix it by putting up a
[pull request](https://github.com/docker/hub-tool/pulls)!

## Building

### Prerequisites

- [Docker](https://www.docker.com/products/docker-desktop)
- `make`

### Compiling

To build for your current platform, simply run `make` and the tool will be
output into the `./bin` directory:

```console
$ make
docker build --build-arg GO_VERSION=1.16.3 --build-arg ALPINE_VERSION=3.12.0 --build-arg GOLANGCI_LINT_VERSION=v1.31.0-alpine --build-arg TAG_NAME= --build-arg GOTESTSUM_VERSION=0.5.2 --build-arg BINARY_NAME=hub-tool --build-arg BINARY=hub-tool . \
--output type=local,dest=./bin \
--platform local \
--target hub
[+] Building 3.7s (6/13)
...
=> => copying files 22.10MB

$ ls bin/
hub-tool
```