Skip to main content

wrfy /wharfie/

minimal CLI tool to smooth your docker local dev experience

wrfy provides a dozen or so commands to automate common operations on a docker development or CI host. Want to pull all images? Delete images matching a regexp? Clean up dangling volumes? You've come to the right place.

installation

$ pip3 install wrfy

wrfy commands

doctor

wrfy doctor will check your docker host for common issues. The checks are:

  • containers running from an old version of the image they were launched from. for example, if you were to do docker run -it alpine:latest /bin/sh, leave that container going, and then pull a newer version of alpine:latest, wrfy will let you know that your Alpine container is running from an old image.
  • dangling volumes. dangling volumes, which are not attached to a container.
  • dangling images. dangling images, which do not have a tag.
  • stopped containers. docker hosts can build up a large number of stopped containers whose purpose was ephemeral.

Each check suggests a wrfy tool to address each particular issue identified.

kill-all

wrfy kill-all will kill all running containers. It asks for confirmation, unless --force is passed as an argument.

pull-all

wrfy pull-all will pull all images present on the docker host. This is very useful when you want to make sure everything is up to date.

rm-matching

wrfy rm-matching <pattern> will remove containers matching the provided glob pattern. If -e is passed, the pattern is interpreted as a regular expression. It asks for confirmation, unless --force is passed as an argument.

A useful command is wrfy rm-matching -e '^[a-z]+_[a-z]+$', which will remove all containers with a name comprised of two words seperated by an underscore. This will match containers with names automatically generated by docker.

rm-stopped

wrfy rm-stopped will remove all containers which are not running. It is somewhat of a blunt instrument, you might want to use rm-matching instead. It asks for confirmation, unless --force is passed as an argument.

rmi-dangling

wrfy rmi-dangling will remove all dangling images - images which haven't got a name. It asks for confirmation, unless --force is passed as an argument.

rmi-matching

wrfy rmi-matching <pattern> will remove images matching the provided glob pattern. If -e is passed, the pattern is interpreted as a regular expression. It asks for confirmation, unless --force is passed as an argument.

A useful command to clean up after docker-compose is wrfy rmi-matching -e '^[a-z]+_[a-z]+:latest$', which will remove all containers with a name comprised of two words seperated by an underscore, and a tag of latest. Such images probably came from docker-compose.

rmv-dangling

wrfy rmv-dangling will remove all dangling volumes - volumes not attached to any container. It asks for confirmation, unless --force is passed as an argument.

scrub

wrfy scrub chains together rm_stopped, rmi_dangling, and rmv_dangling. It asks for confirmation at each stage, unless --force is passed as an argument.

Metadata

Release files for wrfy 0.9.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wrfy 0.9.2
File Size Uploaded Provenance Actions
wrfy-0.9.2.tar.gz 20.0 kB Without provenance Details for wrfy-0.9.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for wrfy 0.9.2
File Interpreter ABI Platform Actions
wrfy-0.9.2-py3-none-any.whl Python 3 none any Details for wrfy-0.9.2-py3-none-any.whl

Total release size: 40.3 kB

Release files / wrfy-0.9.2.tar.gz

Download URL wrfy-0.9.2.tar.gz
Size 20.0 kB
Tags Source
SHA-256 checksum
How to use checksums
191e33167fa37e92f1d9ee98f456a74db2a523722271f8fca4b53813b5fefdab
BLAKE2b-256 checksum
How to use checksums
4cb1710c2e8ca22d04734d699f17c771b884f41e1a146f7acd8fa5c3ba087756
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.3.1 CPython/3.11.1 Darwin/22.2.0

Release files / wrfy-0.9.2-py3-none-any.whl

Download URL wrfy-0.9.2-py3-none-any.whl
Size 20.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
898a91f887eda602337b194377558ee0b834cd2fa37c8b2de2e6be7d92ab72c6
BLAKE2b-256 checksum
How to use checksums
d8ad3ed6d2d8b316e9209b122054525da7db95c0bd834fb86092796a00440452
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.3.1 CPython/3.11.1 Darwin/22.2.0

Security for wrfy 0.9.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page