从docker hub拉出的镜像是一个最小的系统,没有vim、ping等命令。有时在调试环境中。
例如,我需要ping来测试网络或者使用"vim“来修改配置文件,但是我不需要t want to install them in container or indocker-file`,因为它们在运行时是不必要的。
我已经尝试在我的容器中安装这些命令,但这并不方便。那么,我认为它是否可以将命令从主机挂载到容器?或者甚至“挂载”一个忙碌的盒子到容器?
发布于 2018-12-18 14:31:28
你应该在你的容器中安装这些工具,因为事情就是这样做的。我找不到一个不这样做的理由,但如果你不能这样做(为什么??),你可以将必要的二进制文件放入卷中,并将此卷挂载到容器中。类似于:
docker run -it -v /my/binaries/here:/binaries:ro image sh
$ ls /binaries并使用容器路径/binaries在内部执行它们。
但你必须记住的是-这些二进制文件通常与/var/lib等系统路径中的依赖项。当从容器内部调用它们时,你必须以某种方式解决它们。
发布于 2021-12-13 10:21:12
如果在Kubernetes上运行,kubectl命令支持运行调试容器,该容器可以访问正在运行的容器。检查kubectl debug。
https://kubernetes.io/docs/tasks/debug-application-cluster/debug-running-pod/#ephemeral-container
https://stackoverflow.com/questions/53827322
复制相似问题