{"id":39673449,"url":"https://github.com/glenndehaan/docker-tools","last_synced_at":"2026-01-18T09:41:58.946Z","repository":{"id":178434217,"uuid":"661850728","full_name":"glenndehaan/docker-tools","owner":"glenndehaan","description":"Collection of tools and resources designed to enhance debugging experience within Docker, Docker Swarm, and Kubernetes environments","archived":false,"fork":false,"pushed_at":"2024-03-18T19:52:59.000Z","size":28,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-03-18T21:14:56.476Z","etag":null,"topics":["debugging","docker","docker-image","docker-swarm","kubernetes","tools"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/glenndehaan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-03T19:56:42.000Z","updated_at":"2023-12-11T20:02:50.000Z","dependencies_parsed_at":"2024-03-18T20:57:15.708Z","dependency_job_id":"c7b07d59-1c5f-4826-9c11-09b9f69f142a","html_url":"https://github.com/glenndehaan/docker-tools","commit_stats":null,"previous_names":["glenndehaan/docker-tools"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/glenndehaan/docker-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glenndehaan%2Fdocker-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glenndehaan%2Fdocker-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glenndehaan%2Fdocker-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glenndehaan%2Fdocker-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/glenndehaan","download_url":"https://codeload.github.com/glenndehaan/docker-tools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glenndehaan%2Fdocker-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28534172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debugging","docker","docker-image","docker-swarm","kubernetes","tools"],"created_at":"2026-01-18T09:41:58.826Z","updated_at":"2026-01-18T09:41:58.915Z","avatar_url":"https://github.com/glenndehaan.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker Tools\n\nThis collection of tools and resources is designed to enhance your debugging experience within Docker, Docker Swarm, and Kubernetes environments. By leveraging the power of containerization, the docker-tools image offers a comprehensive set of utilities to help you diagnose and troubleshoot problems seamlessly.\n\n[![Image Size](https://img.shields.io/docker/image-size/glenndehaan/docker-tools)](https://hub.docker.com/r/glenndehaan/docker-tools)\n\n## Tools\nBelow is an overview of all installed tools besides the default tools already available within Alpine Linux:\n\n* **bash**: A widely used shell for executing commands, scripting, and interactive shell sessions.\n* **less**: View and navigate large text files comfortably within the terminal.\n* **glow**: Render markdown files in the terminal with rich formatting and syntax highlighting.\n* **htop**: An interactive process viewer that provides detailed information about system processes, resource utilization, and more.\n* **mc**: Midnight Commander, a text-based file manager that allows for efficient file operations within the container.\n* **git**: Version control system for tracking changes in source code and collaborating with others.\n* **whois**: A utility for querying WHOIS databases to retrieve information about domain registrations and IP addresses.\n* **bind-tools**: A collection of DNS utilities, including `dig` and `nslookup`, for performing DNS-related diagnostics and lookups.\n* **curl**: A versatile command-line tool for making HTTP requests and testing connectivity to web services.\n* **wget**: A command-line tool for retrieving files from the web using various protocols such as HTTP, HTTPS, and FTP.\n* **zip**: A utility for creating compressed zip archives.\n* **unzip**: A utility for extracting files from zip archives.\n* **openssl**: A powerful cryptographic toolkit that provides various tools and libraries for secure communication and data encryption.\n* **openssh**: Connect securely to remote systems using the SSH protocol.\n* **jq**: Process JSON data with ease, allowing for effective parsing and manipulation.\n* **telnet**: Test network services by establishing a connection to a specified host and port.\n* **nmap**: Perform network exploration and security auditing, discovering hosts and services on a network.\n* **mysql-client**: Command-line interface for connecting to MySQL databases and executing SQL queries.\n* **mariadb-client**: Command-line interface for connecting to MariaDB databases and performing database operations.\n* **postgresql15-client**: Command-line interface for connecting to PostgreSQL databases and executing SQL queries.\n* **kubectl**: Command-line interface for interacting with Kubernetes clusters, allowing you to manage and control your containerized applications.\n* **helm**: A package manager for Kubernetes that simplifies the deployment and management of applications on a Kubernetes cluster.\n* **helmfile**: Deploy multiple Kubernetes charts and manage Helm releases declaratively.\n* **kubectx**: Switch between Kubernetes contexts with ease, simplifying management of multiple clusters.\n* **kubent**: Simple tool to check whether you're using any deprecated APIs in your cluster and therefore should upgrade your workloads first, before upgrading your Kubernetes cluster.\n* **kubeconform**: Validate Kubernetes resource YAML files against best practices and policies.\n* **kube-linter**: Analyze Kubernetes configurations for potential issues and improvements.\n* **testssl.sh**: Test SSL/TLS security configuration of a server by performing a comprehensive analysis.\n* **shellcheck**: Analyze shell scripts for common errors, improving their reliability and maintainability.\n* **hugo**: Build and manage static websites and blogs with the Hugo static site generator.\n\n## Auto Rebuild\nThis feature ensures that the docker-tools image is automatically rebuilt and updated on a weekly basis, specifically during Saturday nights.\n\nThe purpose of this feature is to keep the docker-tools image up to date with the latest software versions, security patches, and enhancements.\n\nHere's how the feature works:\n\n* **Scheduled Rebuilds**: The docker-tools repository is configured to trigger an automatic rebuild of the image every Saturday night. This scheduled process ensures that the image remains current.\n* **Software Updates**: During the rebuild process, the docker-tools image pulls the latest versions of the included debugging tools, utilities, and dependencies. This ensures that you have access to the most recent versions, incorporating bug fixes, performance improvements, and new features.\n* **Security Enhancements**: Regularly rebuilding the docker-tools image allows for timely inclusion of security updates. By staying up to date, you can leverage the latest security patches and ensure that your debugging workflows within Docker, Docker Swarm, or Kubernetes environments are robust and protected against potential vulnerabilities.\n\n## Usage\nThis container can be used in specific scenarios below are some of these described:\n\n### Docker / Docker Swarm\nYou can use the container for quick debugging purposes for example exporting a database within the cluster.\nBelow is a command that spawns the container as a temporary one. When you exit out of the session it will clean up the container.\n\n```shell\ndocker run --rm -it --pull=always glenndehaan/docker-tools /bin/sh\n```\n\n### Kubernetes\nYou can use the container for quick debugging purposes for example exporting a database within the cluster.\nBelow is a command that spawns the container as a temporary pod. When you exit out of the session it will clean up the pod.\n\n```shell\nkubectl run -i -v=4 --rm --tty debug --image=glenndehaan/docker-tools --restart=Never --image-pull-policy=Always -- sh\n```\n\n### Kubernetes - Init Container\nYou can use the container as a kubernetes init container for example to create a database before your main application starts.\nBelow is an example kubernetes deployment definition.\n\n```yaml\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-app-deployment\n  labels:\n    app: my-app\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: my-app\n  template:\n    metadata:\n      labels:\n        app: my-app\n    spec:\n      initContainers:\n        - name: my-app-init\n          image: glenndehaan/docker-tools:latest\n          command: [ 'sh', '-c', 'echo -e \"Run your scripts here!\"' ]\n      containers:\n        - name: my-app\n          image: user/app:latest\n```\n\n### GitLab\nYou can use the container as a base job image allowing you to access all included tools.\nBelow is an example GitLab job / `.gitlab-ci.yml` definition.\n\n```yaml\nexample-job:\n  image: glenndehaan/docker-tools:latest\n  script:\n    - echo \"Run your scripts here!\"\n```\n\n### GitHub Actions\nYou can use the container as a base container allowing you to access all included tools.\nBelow is an example GitHub action / `.github/workflows/test.yml`.\n\n```yaml\nname: Test\n\non:\n  push:\n    branches:\n      - 'master'\n\njobs:\n  example-job:\n    runs-on: ubuntu-latest\n    container: glenndehaan/docker-tools:latest\n    steps:\n      - name: Run motd\n        run: motd\n      - name: Example script\n        run: echo \"Run your scripts here!\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglenndehaan%2Fdocker-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglenndehaan%2Fdocker-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglenndehaan%2Fdocker-tools/lists"}