Mea*_*ell 3 cql cassandra docker cqlsh
是否可以将 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'
Run Code Online (Sandbox Code Playgroud)
我真的不想打开 bash 会话并以这种方式运行脚本。
容器需要首先能够访问脚本,然后才能执行它(即脚本文件需要在容器内)。如果这只是脚本的一次性快速运行,最简单的方法可能就是使用docker cp
命令将脚本从主机复制到容器:
$ docker cp createTables.cql container_name:/path/in/container
Run Code Online (Sandbox Code Playgroud)
然后,您应该能够使用docker exec
将脚本复制到容器内的任何路径来运行该脚本。如果这是一项正在进行的工作,并且您可能在处理脚本时更改并重新运行脚本,则最好从容器内的主机安装一个包含脚本的目录。对于您可能会想-v
的选项docker run
。
希望有帮助!
归档时间: |
|
查看次数: |
3209 次 |
最近记录: |