Simple bulk operations for Docker
Project description
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 ofalpine: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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file wrfy-0.9.2.tar.gz
.
File metadata
- Download URL: wrfy-0.9.2.tar.gz
- Upload date:
- Size: 20.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.11.1 Darwin/22.2.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 191e33167fa37e92f1d9ee98f456a74db2a523722271f8fca4b53813b5fefdab |
|
MD5 | aca19c63f93bc461c3538a9eb6c83165 |
|
BLAKE2b-256 | 4cb1710c2e8ca22d04734d699f17c771b884f41e1a146f7acd8fa5c3ba087756 |
File details
Details for the file wrfy-0.9.2-py3-none-any.whl
.
File metadata
- Download URL: wrfy-0.9.2-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.11.1 Darwin/22.2.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 898a91f887eda602337b194377558ee0b834cd2fa37c8b2de2e6be7d92ab72c6 |
|
MD5 | cc762d6dc86eb6459efa08d897b7eb0d |
|
BLAKE2b-256 | d8ad3ed6d2d8b316e9209b122054525da7db95c0bd834fb86092796a00440452 |