Skip to content
/ toolbox Public

Containerized tools for on the go troubleshooting and developing

License

Notifications You must be signed in to change notification settings

growlf/toolbox

Repository files navigation

Toolbox

GitHub Release GitHub Tag Docker Image Size with architecture (latest by date/latest semver)

PyTest ghcr.io Docker Hub

Containerized tools for on-the-go troubleshooting and developing in alien environments.

By: Garth Johnson & others

The purpose of this container image is to provide tools that can help diagnose issues and ease/simplify development struggles on alien envirnments.

Additionally, this container image can easily used for:

  • devlopment new container prototypes
  • debugging container builds and deployments
  • educational intents for container development/examples (i.e. workflows and devcontainers)

You can find more at:

Batteries included

Custom Shell

Using the docker-compose.yml file (included) makes certain tasks easier. For example, opening a self-removing ZShell instance can be done lke so:

docker compose run --rm app1

Monitor packets in the local network

Using tcpdump can either be done from within a shell of the toolbox container, or direct commandline like so:

docker run --rm -it --net=host ghcr.io/growlf/toolbox sudo tcpdump

Running scripts and commands

You can also run arbitrary commands and scripts directly from the commandline like so:

docker compose run --rm -it app1 ./test_net.sh

Using the Invoke Command

This image implements Python Invoke, for managing shell-oriented subprocesses and organizing executable Python code into CLI-invokable tasks. There are a few basic tasks defined as examples already.

List available invoke commands from outside the container:

docker compose exec app1 inv --list

Check internet speed using speedtest:

docker compose exec app1 inv speedtest

Use a command that requires elevated privileges:

docker compose exec -u root app1 inv dockerinfo

Some possible tasks to add-to/replace the default options:

  • test for proxy in the environment
  • test for internet access issues
  • scan ports on target host
  • get network response times
  • setup a reverse proxy for remote shell (outbond from container host to remote support system)
  • create a container project from defined template

Use with Portainer

Use the portainer-compose.yml file and modify to your hearts content.

Notes