c++ - 在VScode中进行调试时,如何在Docker容器中找到源代码文件夹

标签 c++ docker debugging visual-studio-code containers

我有一个容器化的C++应用程序,已经构建了镜像,还能够在Windows提示符下的容器内运行模型可执行文件。
我跟随this article在VScode中设置调试。
如果我使用ls -al,我可以在其中看到源代码文件,但是我使用docker diff,它返回的内容如下:

docker diff container_name
C /root
A /root/.bash_history
这些东西很多,但是我找不到可以在此处附加的源代码文件夹:
enter image description here
然后我只能得到这个:
enter image description here
这看起来根本不像源代码文件夹,我做错了什么,我不明白。
如果我检查正在运行的容器docker ps
CONTAINER ID    IMAGE    COMMAND     CREATED        STATUS       PORTS      NAMES
xxx             xxx    "/bin/bash" 21 minutes ago Up 13 minutes             xxx                   

我注意到“/ bin / bash”在我看来很奇怪,我附加的文件夹仅包含一些bash缓存等,而不是真正的源代码,它们在哪里?我很困惑。我已经坚持了整整一个下午。有人可以帮我吗,谢谢。

最佳答案

如果容器仍在运行并且尚未终止或未正确设置(否则docker ps可能没有列出它),作为诊断工具,您可以使用Docker 1.3中提供的exec命令,该命令允许运行命令到容器的现有运行实例。因此,您可以打开shell,ssh或仅ls并浏览其文件系统,以了解正在运行的容器实例的含义。
虽然不是完整的解决方案,但我希望这会有所帮助。

关于c++ - 在VScode中进行调试时,如何在Docker容器中找到源代码文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62794109/

相关文章:

C++ "conversion loses qualifiers"编译错误

android - 在 Android 上运行自己的 TensorFlow 模型会出现 native 推理错误 : "Session was not created with a graph before Run()!"

debugging - 任务 ':app:dexDebug'的Android Studio执行失败

docker - 无法删除 docker 镜像

ruby-on-rails - 无法打开与本地主机 :3101 - Rails/Docker 的 TCP 连接

c# - 项目不断崩溃 visual studio 2010

node.js - Geddy 不会遇到断点

c++ - 代理容器上的迭代器可能是 “least bad implementation”?

c++ - 如何使用声明为私有(private)的结构?

docker - Web容器和docker有什么区别?