F4K*_*4Ke 6 go cassandra gocql docker-compose
我正在尝试设置 cassandra DB 并使用 golang 应用程序连接到它。
这是我的docker-compose
version: "3.6"
services:
cassandra:
image: cassandra:4.0
ports:
- 9042:9042
volumes:
- ~/apps/cassandra:/var/lib/cassandra
environment:
- CASSANDRA_CLUSTER_NAME=mycluster
myapp:
...
ports:
- 4242:4242
- 4243:4243
depends_on:
- cassandra
...
networks:
default:
driver: bridge
Run Code Online (Sandbox Code Playgroud)
我使用启动 Cassandra
docker-compose up cassandra
然后我等待它准备好。
然后我尝试在本地使用连接到 Cassandra
> cqlsh
Connected to mycluster at 127.0.0.1:9042
Run Code Online (Sandbox Code Playgroud)
然后我尝试在我的 go 应用程序(dockerized)中使用连接到它gocql
cluster := gocql.NewCluster("127.0.0.1")
session, err := cluster.CreateSession()
Run Code Online (Sandbox Code Playgroud)
(还尝试添加元素 asConsistency等ProtoVersion=4相同的结果)
它说:
Cannot connect to db: gocql: unable to create session: unable to discover protocol version: dial tcp 127.0.0.1:9042: connect: connection refused
Run Code Online (Sandbox Code Playgroud)
你。知道为什么无法连接吗?
谢谢 !
每个容器都有自己的 localhost ( 127.0.0.1) 地址 - 您需要连接到您机器的 IP 地址(如果您使用bridge),或者最好通过名称 ( cassandra)连接
| 归档时间: |
|
| 查看次数: |
678 次 |
| 最近记录: |