Настройка cassandra.yaml для аутентификации пароля в докере - PullRequest
0 голосов
/ 07 мая 2018

Может кто-нибудь сказать мне, как изменить cassandra.yaml внутри док-контейнера? Я хочу включить аутентификацию по паролю внутри докера для доступа к кассандре.

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Если вы используете официальный образ Cassandra Docker, у вас уже будет docker-entrypoint.sh. См. https://github.com/docker-library/cassandra/blob/master/docker-entrypoint.sh для некоторых уже определенных переменных, как примеры.

Чтобы включить их при запуске контейнера, вы можете:

  1. разветвите и отредактируйте docker-entrypoint.sh, начиная со (текущей) строки 51, чтобы добавить свои собственные переменные, например:

for yaml in \ broadcast_address \ broadcast_rpc_address \ [your_selected_yaml_variable] \ ...

  1. включает значения, которые вы хотите переопределить в docker-compose.yml, например:

environment: - CASSANDRA_SEEDS=DC1C1,DC1C2,DC2C1,DC2C2 - CASSANDRA_CLUSTER_NAME=Dev_Cluster - CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch - CASSANDRA_[YOUR_SELECTED_YAML_VARIABLE]

0 голосов
/ 07 мая 2018

Вы можете создать точку входа в Docker (в основном это файл сценария, который вы указываете Docker копировать в контейнер, и он определяется как точка входа).

COPY docker-entrypoint.sh /docker-entrypoint.sh
ENTRYPOINT ["bin/sh", "/docker-entrypoint.sh"]

В этом файле вы можете вносить любые изменения в файл cassandra.yaml, используя sed.

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

Обратите внимание, что $ CASSANDRA_DATA_DIRECTORY и $ CASSANDRA_CONFIG - это некоторые переменные, определенные заранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...