首页 > 解决方案 > Cassandra docker 镜像中的 CASSANDRA_PORT_9042_TCP_ADDR

问题描述

我是 Cassandra 的新手,我开始使用 Docker 容器来学习它。对于 docker 镜像,我指的是https://hub.docker.com/_/cassandra/,它提供了官方的 Cassandra docker 镜像。

页面中从cqlsh连接到 Cassandra部分使用

exec cqlsh "$CASSANDRA_PORT_9042_TCP_ADDR"

通过 cqlsh 连接时。该变量$CASSANDRA_PORT_9042_TCP_ADDR包含原始 Cassandra 容器的 IP 地址。我正在搜索该变量CASSANDRA_PORT_9042_TCP_ADDR,但我无法找到它的定义位置和方式。

我还查看了 Cassandra 文档,但在那里也没有找到任何东西。我还 grep'd 进入了整个 Cassandra 容器。谁能提供有关环境变量的更多详细信息?

标签: dockercassandra

解决方案


当您与其他容器链接时,Docker 会自动创建此变量。它的格式为<name>_PORT_<port>_<protocol>, where <name>is CASSANDRA,默认端口为 9042... 更多详细信息,请参阅Docker 文档

但是cqlsh直接在已经运行的容器中运行而不是创建一个新实例并将其链接到 Cassandra 容器可能更简单。只需执行:

docker exec -ti <container_name_or_hash> cqlsh

推荐阅读