Connect to the container: docker exec -it cassandra-node bash(Connected to Test Cluster at 127.0.0.1:9042)
Keyspace creation
Create Keyspace: CREATE KEYSPACE first_keyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 1}
我创建了一个新的Cassandra镜像 "cassandra "和名为 "container-node "的容器,执行以下命令。
我想知道我可以从哪里开始.任何帮助,指针将是感激。
不知道cassandra是否支持.sql文件。我想这是一个印刷错误。
从.cql文件加载数据的命令是这样的。
bin/cqlsh --file 'file_name'
所有你需要做的是在容器中运行这样的命令。但在此之前,你需要确保该文件在容器内是可以访问的。两种方法是在创建镜像的时候把文件复制到容器里面(针对init脚本那种需求)和卷映射(针对其他需求)。示例Docker文件。
FROM cassandra
COPY some-file.cql /home/some-file.cql
CMD["cqlsh","<cassandra-docker-container-ref>","-f","/home/some-file.sql"]
这里 cassandra-docker-container-ref
可以是你的cassandra docker服务器的id或名称。我建议使用name。
用这样的命令来构建镜像。
docker build -t cassandra-seed-script .
并运行图像作为一个容器 并立即删除它。
docker run -it --rm cassandra-seed-script
如果你需要定期执行,并与不同的cql文件,卷映射容器中的位置与主机,并使命令动态(或传递命令,同时启动一个容器)。