{"id":13412502,"url":"https://github.com/lukaszlach/commando","last_synced_at":"2025-03-14T18:31:37.659Z","repository":{"id":36090318,"uuid":"208908236","full_name":"lukaszlach/commando","owner":"lukaszlach","description":":whale: Container registry which provides you all the commands you need in a lightweight Alpine image. DevOps and SysOps best friend. https://command-not-found.com","archived":false,"fork":false,"pushed_at":"2022-03-17T10:49:30.000Z","size":7,"stargazers_count":546,"open_issues_count":11,"forks_count":25,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-07T17:15:49.870Z","etag":null,"topics":["command","container-images","container-registry","docker"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lukaszlach.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-16T22:19:22.000Z","updated_at":"2025-01-22T15:52:30.000Z","dependencies_parsed_at":"2022-07-19T00:32:14.159Z","dependency_job_id":null,"html_url":"https://github.com/lukaszlach/commando","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaszlach%2Fcommando","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaszlach%2Fcommando/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaszlach%2Fcommando/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaszlach%2Fcommando/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lukaszlach","download_url":"https://codeload.github.com/lukaszlach/commando/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243625144,"owners_count":20321240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["command","container-images","container-registry","docker"],"created_at":"2024-07-30T20:01:25.443Z","updated_at":"2025-03-14T18:31:37.322Z","avatar_url":"https://github.com/lukaszlach.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Commando\n\n![Version](https://img.shields.io/badge/version-0.2.0-lightgrey.svg?style=flat)\n\n**Commando** generates Docker images on-demand with all the commands you need and simply point them by name in the `docker run` command. **Commando** is SysOps and DevOps best friend.\n\n![](https://user-images.githubusercontent.com/5011490/65174414-25080700-da51-11e9-8f88-d3a69728c0a6.gif)\n\n## Features\n\nWhen running a Docker image you will enter the Bash shell by default and have the requested commands available.\n\nCommando is deployed under `cmd.cat` and publicly available, you can freely use it but do not depend on it's stability in your projects as it is hosted on my private server with limited resources.\n\nThe image is based on Alpine and the builder does its best to reuse the existing layers when using multiple commands. This way both `cmd.cat/envsubst/curl` and `cmd.cat/curl/envsubst` are the same images, also `cmd.cat/envsubst/tcpdump/curl` adds only one extra layer.\n\n[![](http://www.brendangregg.com/Perf/linuxperftools.png)](http://www.brendangregg.com/blog/2014-11-22/linux-perf-tools-2014.html)\n\n\u003e Source: [Linux PerfTools](http://www.brendangregg.com/linuxperf.html)\n\n```bash\n# One command.\ndocker run -it cmd.cat/strace\ndocker run -it cmd.cat/ab\n\n# Two...\ndocker run -it cmd.cat/curl/wget\ndocker run -it cmd.cat/htop/iostat\n\n# ... or a lot of commands, how many you need.\ndocker run -it cmd.cat/ping/nmap/whois\ndocker run -it cmd.cat/ngrep/tcpdump/ip/ifconfig/netstat\n```\n\nUse the generated image with host/container pid/network modes to debug and monitor your containers or the host system.\n\n![](https://user-images.githubusercontent.com/5011490/65175421-25090680-da53-11e9-80db-37c111d5a640.gif)\n\n```bash\ndocker run -d --name nginx nginx\n\n# Enter the shell with all network tools available\ndocker run -it --net container:nginx cmd.cat/curl/ab/ngrep\n# Monitor all network interfaces of the nginx container\ndocker run -it --net container:nginx cmd.cat/ngrep ngrep -d any\n```\n\n```bash\ndocker run -d --name redis redis\n\n# Monitor the processes running inside the redis container\ndocker run -it --pid container:redis cmd.cat/htop htop\n```\n\n```bash\n# Monitor network and processes on the host system\ndocker run -it --net host --pid host cmd.cat/htop/ngrep\n```\n\n## Running\n\nRun the project locally or deploy it internally inside your company with a single command that will pull all the required images and build the registry proxy:\n\n```bash\ngit clone https://github.com/lukaszlach/commando.git\ncd commando\ndocker-compose up -d\n```\n\nRun any command built locally the same way:\n\n```bash\ndocker run -it localhost:5050/tcpdump\ndocker run -it localhost:5050/strace/php\n```\n\n\u003e The first run needs to build the base image so it takes longer than all further calls.\n\n## License\n\nMIT License\n\nCopyright (c) 2019 Łukasz Lach \u003cllach@llach.pl\u003e\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n---\n\nGoogle [Nixery](https://github.com/google/nixery) :heart:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukaszlach%2Fcommando","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukaszlach%2Fcommando","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukaszlach%2Fcommando/lists"}