Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在docker内部为密码验证配置cassandra.yaml_Docker_Cassandra - Fatal编程技术网

在docker内部为密码验证配置cassandra.yaml

在docker内部为密码验证配置cassandra.yaml,docker,cassandra,Docker,Cassandra,有人能告诉我如何在docker容器中更改cassandra.yaml吗? 我想在docker内部为cassandra access启用密码身份验证。您可以创建一个docker入口点(基本上是一个脚本文件,您可以指示docker在容器上复制,它被定义为入口点) 在该文件中,您可以使用sed对cassandra.yaml文件进行任何更改 sed -ri '/^# data_file_directories:/{n;s/^#.*/'" - $CASSANDRA_DATA_DIRECTORY"'/

有人能告诉我如何在docker容器中更改cassandra.yaml吗?
我想在docker内部为cassandra access启用密码身份验证。

您可以创建一个docker入口点(基本上是一个脚本文件,您可以指示docker在容器上复制,它被定义为入口点)

在该文件中,您可以使用sed对cassandra.yaml文件进行任何更改

sed -ri '/^# data_file_directories:/{n;s/^#.*/'"    - $CASSANDRA_DATA_DIRECTORY"'/}' "$CASSANDRA_CONFIG/cassandra.yaml"

请注意,$CASSANDRA_DATA_DIRECTORY和$CASSANDRA_CONFIG是一些预先定义的变量。

如果您使用的是正式的CASSANDRA Docker映像,那么您已经有了Docker-entrypoint.sh。请参阅:对于一些已经定义的变量,作为示例

要在容器启动时包含这些内容,您可以:

  • 分叉并编辑docker-entrypoint.sh,从(当前)第51行开始添加您自己的变量,如下所示:
  • 中的yaml的
    \
    广播地址\
    广播地址\
    [您选择的变量]\
    ...
    

  • 在docker-compose.yml中包括要覆盖的值,如下所示:
  • 环境:
    -卡桑德拉种子=DC1C1,DC1C2,DC2C1,DC2C2
    -CASSANDRA_CLUSTER_NAME=Dev_CLUSTER
    -CASSANDRA_ENDPOINT_SNITCH=闲聊属性文件SNITCH
    
    -CASSANDRA_[您选择的_YAML_变量]

    您可以尝试装入外部文件,如中所述
    sed -ri '/^# data_file_directories:/{n;s/^#.*/'"    - $CASSANDRA_DATA_DIRECTORY"'/}' "$CASSANDRA_CONFIG/cassandra.yaml"