docker-具有–net = host的Cassandra容器立即退出

前端之家收集整理的这篇文章主要介绍了docker-具有–net = host的Cassandra容器立即退出 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试启动正式的Cassandra Docker image,作为this项目的一部分.

docker run -d –name cassandra cassandra成功启动了容器.

但是,我需要docker run -d –name cassandra–net = hostcassandra,因为项目的其他部分以这种方式工作.如果我使用–net = host,则容器将启动,然后立即退出.

这是docker ps -a必须说的:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
9f4992f06a30        cassandra:latest    "/docker-entrypoint.s"   10 seconds ago      Exited (3) 5 seconds ago                       cassandra

日志显示存在错误:Unknown listen_address’:: 1 127.0.0.1′

如果相关,在我的/ etc / hosts中既有:: 1也有127.0.0.1:

127.0.0.1   localhost.localdomain   localhost 
::1     localhost.localdomain   localhost

Here的完整日志输出用于失败的容器,以及here的docker信息输出.为了进行比较,here成功运行了实例的日志(没有–net = host).

行为在有和没有项目其他部分的情况下都存在,带有:3,:3.5,:3.7和:最新图像.

最佳答案
根据建议的here,覆盖CASSANDRA_LISTEN_ADDRESS的工作原理如下:

docker run -d –name cassandra –net = host -e CASSANDRA_LISTEN_ADDRESS =’127.0.0.1’cassandra

另外,请确保至少有4Gb RAM(交换也可以)-否则,Cassandra容器也将立即退出,并显示不同的错误消息.

似乎未指定设备或地址时,Cassandra defaultslocal address.

假设,当hosts文件具有该主机的多个条目(例如IPv4和IPv6的条目)时,都将返回这,这是不希望的,或者类似的结果.手动提供127.0.0.1可确保永远不会执行该路径.

猜你在找的Docker相关文章