gpt4 book ai didi

docker - 将本地 CQL 命令文件传递给 Cassandra Docker 容器

转载 作者:行者123 更新时间:2023-12-01 10:26:36 29 4
gpt4 key购买 nike

是否可以将 CQL 命令的本地文件传递给 Cassandra Docker 容器?

使用 docker exec 失败,因为它找不到本地文件:

me@meanwhileinhell:~$ ls -al
-rw-r--r-- 1 me me 1672 Sep 28 11:02 createTables.cql

me@meanwhileinhell:~$ docker exec -i cassandra_1 cqlsh -f createTables.cql
Can't open 'createTables.cql': [Errno 2] No such file or directory: ‘createTables.cql'

我真的不想打开 bash session 并以这种方式运行脚本。

最佳答案

容器需要先能够访问脚本,然后才能执行它(即脚本文件需要在容器内)。如果这只是脚本的一次性快速运行,最简单的方法可能是使用 docker cp 命令将脚本从主机复制到容器:

$ docker cp createTables.cql container_name:/path/in/container

然后,您应该能够使用 docker exec 在您将其复制到容器内的任何路径上运行脚本。如果这是一项正在进行的工作,并且您可能在处理脚本时更改并重新运行脚本,则最好从容器内的主机安装一个包含脚本的目录。为此,您可能需要 -v docker run 选项。

希望有帮助!

关于docker - 将本地 CQL 命令文件传递给 Cassandra Docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47205466/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com