【发布时间】:2019-03-18 18:02:21
【问题描述】:
任务如下: 编写将与 ScyllaDB 一起使用的 node.js 服务器,该服务器将放置在 Docker 容器上。 我之前这样做了,但是在 Ubuntu 上,它工作正常,现在我应该在 Windows 10 上这样做。
我安装了 Docker Toolbox for Windows 并运行来自 scylladb 文档的命令。
$ docker run --name some-scylla -d scylladb/scylla
af51fa65627303db16a3de85003be8a165a64f37cf6ae29c0b4e887d64342ad2\
$ docker exec -it some-scylla cqlsh
Connected to at 172.17.0.2:9042.
[cqlsh 5.0.1 | Cassandra 3.0.8 | CQL spec 3.3.1 | Native protocol v4]
Use HELP for help.
cqlsh> CREATE KEYSPACE nodeTask WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 3};
之后在我的 Node.js 服务器上我可以设置连接:
const cassandra = require("cassandra-driver")
const client = new cassandra.Client({
contactPoints: ["127.0.0.1"],
localDataCenter: "datacenter1",
keyspace: "nodetask"
})
正如我所说,它在 Ubuntu 上使用此 IP - 127.0.0.1 可以正常工作,BeaverDB(GUI) 默认使用 9042 端口连接到此 IP,但在 Windows 上它不起作用。现在不可能在 Ubuntu 上工作。
抱歉,我问了一个不好的问题,也许还有一点信息,但我是新手,根本不知道我到底需要告诉什么
【问题讨论】:
-
Node.js 服务器是否也应该存在于 Docker 容器中?
-
是的,应该在 Docker 容器中
-
配置 Scylla 使用监听地址 127.0.0.1 docker run --name some-scylla -d scylladb/scylla --listen-address 127.0.0.1
-
我已经试过了,没用
标签: node.js docker docker-compose boot2docker scylla