我有使用Docker开发相对复杂的应用程序的经验。使用Visual Studio(2019)调试应用程序非常容易。我只是将docker-compose.yaml设置为启动应用程序并开始调试。
是否可以使用Docker Desktop调试本地发布到Kubernetes的应用程序?通过调试,我的意思是设置断点等?我花了几个小时在谷歌上搜索这个问题,但没有找到任何答案,因此我提出了这个问题。
请注意,我不是在问如何调试发布到云中的Kubernetes的应用程序。Azure -有很多网页解释如何做到这一点。
3条答案
按热度按时间sc4hvdpw1#
假设映像使用Java CMD,包括标准调试JVM参数(What are Java command line options to set to allow JVM to be remotely debugged?),然后在运行容器时公开调试端口,并在IDE中在容器启动后在该端口上设置远程调试会话。
i86rm4rw2#
Telepresence可能非常适合你。
使用网真,您可以使用您最喜欢的调试工具在本地调试Kubernetes服务。所以K8S集群在哪里并不重要。
看看this教程,看看它是如何工作的。
工作原理:
Telepresence为您在Kubernetes集群中运行的普通Pod替换了一个双向网络代理。这个pod将Kubernetes环境中的数据(例如,TCP连接,环境变量,卷)代理到本地进程。本地进程透明地覆盖其网络,以便DNS调用和TCP连接通过代理路由到远程Kubernetes集群。
92dk7w1h3#
你可以stdout docker logs,使用kubectl logs pod_name -n namespace_name