{"id":18269066,"url":"https://github.com/raphaelcoeffic/dive","last_synced_at":"2025-04-12T01:30:27.386Z","repository":{"id":260739369,"uuid":"874834049","full_name":"raphaelcoeffic/dive","owner":"raphaelcoeffic","description":"A powerful container debugging tool","archived":false,"fork":false,"pushed_at":"2025-03-11T14:07:35.000Z","size":155,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T21:11:25.747Z","etag":null,"topics":["debugging","docker","nerdctl","podman","shell"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/raphaelcoeffic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-10-18T14:44:48.000Z","updated_at":"2025-03-11T14:07:31.000Z","dependencies_parsed_at":"2024-11-02T15:17:54.922Z","dependency_job_id":"b2461bde-b0ad-45a8-b550-7a6eeeb59141","html_url":"https://github.com/raphaelcoeffic/dive","commit_stats":null,"previous_names":["raphaelcoeffic/ns-dbg","raphaelcoeffic/dive"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelcoeffic%2Fdive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelcoeffic%2Fdive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelcoeffic%2Fdive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelcoeffic%2Fdive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raphaelcoeffic","download_url":"https://codeload.github.com/raphaelcoeffic/dive/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248504178,"owners_count":21115132,"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":["debugging","docker","nerdctl","podman","shell"],"created_at":"2024-11-05T11:34:26.793Z","updated_at":"2025-04-12T01:30:27.380Z","avatar_url":"https://github.com/raphaelcoeffic.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `dive` - a container debugging tool\n\nA powerful container debugging tool that injects a full-featured shell into\nany container - even minimal distroless images - making debugging seamless and\npowerful. No need to modify your containers or add debugging tools at build\ntime.\n\n## Features\n\n### Runtime Support\n- 🐳 Docker\n- 🦭 Podman\n- 🐋 Nerdctl\n- 🔧 systemd-nspawn\n\n### Core Features\n- Inject a complete shell environment into running containers\n- Install additional debugging tools with the built-in [package manager](#package-tool)\n- Works with any container, including minimal and distroless images\n- Zero container modifications required\n- No build-time dependencies\n\n## Installation\n\n### Installing from release binary\n\nDownload the latest release into `~/.local/bin`:\n```bash\nmkdir -p ~/.local/bin\ncurl -sL https://github.com/raphaelcoeffic/dive/releases/latest/download/dive-x86_64-unknown-linux-musl -o ~/.local/bin/dive\nchmod +x ~/.local/bin/dive\n```\n\n### Building from source\n\nPrerequisites:\n- Rust toolchain (install via [rustup](https://rustup.rs/))\n\n```bash\n# Build the binary\ncargo build --release\n\n# Optional: Install system-wide\ncargo install --path .\n\n# Optional: Build x86_64 static binary\nexport CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_LINKER=x86_64-linux-gnu-gcc\nexport CC=x86_64-linux-gnu-gcc\nrustup target add x86_64-unknown-linux-musl\ncargo build --target=x86_64-unknown-linux-musl\n\n# Optional: Build arm64 static binary\nexport CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=aarch64-linux-gnu-gcc\nexport CC=aarch64-linux-gnu-gcc\nrustup target add aarch64-unknown-linux-musl\ncargo build --target=aarch64-unknown-linux-musl\n```\n\n## Usage\n\n```bash\n# Debug a running container\ndive \u003ccontainer-name\u003e\n\n# Or run directly through cargo\ncargo run \u003ccontainer-name\u003e\n```\n\n## Examples\n\n```bash\n# Debug a distroless container\ndive my-distroless-app\n\n# Debug a specific container by ID\ndive 7d3f2c1b9e4a\n```\n\n## Package Tool\n\nInside a `dive` session, you can add or remove packages:\n```bash\n# Add a package\npkg install iftop\n\n# Or remove it\npkg remove iftop\n\n# List installed packages\npkg list\n\n# Search for packages\npkg search helix\n```\n\n## Contributing\n\nContributions are welcome! Feel free to open issues and pull requests.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Roadmap\n\n### Short term\n- 🗑️ Add a clean-up command to remove local files\n\n### Coming later\n- 🐳 Support for more container runtimes\n- 🔍 Enhanced inspection tools\n- ⚡ Performance optimizations\n\nWant to contribute to any of these features? Check out our [Contributing](#contributing) section!\n\n## Acknowledgments\n\nThis project was inspired by and builds upon ideas from:\n- Christian Brauner's article on [Mounting into mount namespaces](https://people.kernel.org/brauner/mounting-into-mount-namespaces)\n- Ivan Velichko's guide on [Docker: How To Debug Distroless And Slim Containers](https://iximiuz.com/en/posts/docker-debug-slim-containers/)\n- The [Orbstack Debug](https://orbstack.dev/blog/debug-shell) feature and its approach to container debugging\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraphaelcoeffic%2Fdive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraphaelcoeffic%2Fdive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraphaelcoeffic%2Fdive/lists"}