Debugging containers that have no shell
6 months ago
- #docker
- #debugging
- #containers
- Docker Debug 是一个CLI命令,允许用户获取任何容器或镜像的shell访问权限,即使目标没有内置shell
- 它通过保持镜像小巧安全的同时提供调试能力,帮助用户遵循最佳实践
- Docker Debug自带工具箱,包含vim、nano、htop、curl等标准Linux工具,可通过`install`命令自定义工具集
- 默认支持多种shell(bash、fish、zsh)并自动检测用户使用的shell类型
- 调试shell中的修改不会影响原始镜像或容器(运行中/暂停状态的容器除外,其文件系统变更可见)
- 典型应用场景包括:调试`hello-world`等精简容器、修改运行中容器的文件、使用`entrypoint`工具分析容器启动命令
- `--command`选项支持直接运行命令而无需交互式会话,适用于脚本场景
- 通过`--host`选项可实现远程调试,连接至远端Docker实例