Skip to main content
 首页 » 编程设计

python之Docker容器A在作为另一个docker服务B运行的cassandra中执行查询(插入/更新)后死亡

2024年10月24日30leader

我是 docker,Cassandra 的新手。 好吧,我遇到了一个奇怪的问题,任何关于如何调试这个问题的帮助都会很棒。我正在使用

 Cassandra 3.3.0,  
native Cassandra-driver for python- 3.3.0  
Docker 1.11.1 

我有两个容器,一个是托管 cassandra 服务,比如容器 A,另一个容器是 B,我正在对 cassandra 容器执行插入查询。 在这里,一旦 B 执行对 A 的查询,就在我的服务容器这个容器 B 死掉之后。

我在容器 B 中看到的日志

[start] application exit with code 0, killing container 

我没有看到任何其他相关日志可以进一步调试,因为是什么原因导致我的容器在插入后立即死亡。

只是为了确保我没有遗漏任何异常,我正在捕获所有异常 即 BaseException 。我已经添加了一些记录器来跟踪我的问题,但是即使容器死了它也永远不会出现这种情况,除了 block 。

我怀疑的是什么

似乎 docker 在内存中有错误,并且在它写入的那一刻,它就死了或者其他什么。

我也试过

我尝试在没有 docker 容器的情况下运行我的代码,以查看是否有违规行。在没有 docker 的情况下,它可以正常工作,没有异常(exception)。我还确保关闭 cassandra session 。

请指教..

请您参考如下方法:

I dont see any other relevant logs to debug further as what is the reason so that i am container dies right after insert.

这就是容器应该如何工作:一旦它的主命令退出(或失败),容器也会退出并将其自身置于“已退出”状态。

主要命令(ENTRYPOINT 或 CMD)用于容器 B 向 cassandra 容器插入查询。它这样做并退出。