尝试将docker run命令更改为:
docker pull cassandra docker run --name cassandra -p 127.0.0.1:9042:9042 -p 127.0.0.1:9160:9160 -d cassandra
这将确保docker容器映射到IPv4.
9160 - Thrift client API 9042 - CQL native transport port
从PHP应用程序,您必须连接到Thrift端口.请按照http://support.qualityunit.com/942764-Example-of-PHP-application-readingwriting-to-Cassandra中的示例进行操作
在上面的示例中,用于从容器所在的同一台机器连接到cassandra容器跑步,你仍然可以使用相同的TSocket('127.0.0.1', 9160)
.
如果您计划从另一台计算机进行连接,则必须TSocket('IP/Domain name', 9160)
在此处使用,IP /域名称是运行docker容器的计算机的标识符.
如果您的PHP应用程序位于同一台机器上的另一个docker容器中,首先您必须链接容器,然后您可以使用TSocket('alias name', 9160)
此处,别名是您对该链接的名称.
try { // Make a connection to the Thrift interface to Cassandra $socket = new TSocket('127.0.0.1', 9160);