我想使用以下代码连接到tarantool容器:
import TarantoolConnection from 'tarantool-driver'
let connection = new TarantoolConnection('192.168.99.100:3301');
connection.ping().then((res) => {
console.log(res);
});
在此之前,我开始使用容器:
docker run -p 3301:3301 -d tarantool/tarantool:1.6
但是结果我什么也没得到。
如果我尝试为该空间创建空间或\和索引:
connection.eval("box.schema.space.create('myspace', {if_not_exists=true, temporary=true})").then((res) => {
console.log(res);
});
我收到此错误:
要么:
从错误中可以看出,所需的套接字已经关闭,但是我不明白为什么。
tarantool驱动程序版本:
我该如何解决?
最佳答案
您在这里有两个问题:
localhost:3301
而不是192.168.99.100:3301
connection.connect()
或connection.ping()
之前使用connection.eval()
这是工作代码:
const TarantoolConnection = require('tarantool-driver');
let connection = new TarantoolConnection({port: 3301});
connection.connect().then((res) => {
console.log("Connected: " + res);
connection.ping().then((res) => {
console.log("Pong: " + res);
});
connection.eval("box.schema.space.create('myspace', {if_not_exists=true, temporary=true})").then((res) => {
console.log("Space created");
});
});
为了以防万一,我使用以下命令启动tarantool docker实例:
$ docker run --rm -p 3301:3301 -t -i tarantool/tarantool:1.6