我在 docker 容器中运行 elasticsearch。
在为 ssl 配置 elasticsearch 并屏蔽我的 elasticsearch.yml
文件时获得非法条目,即 TAB
而不是 space
。
现在我的 docker 容器没有启动并给出以下错误:
{1.4.4}: Setup Failed ...
- SettingsException[Failed to load settings from [file:/elasticsearch/config/elasticsearch.yml]]
IOException[Tabs are illegal in YAML. Did you mean to use whitespace character instead?]
org.elasticsearch.common.settings.SettingsException: Failed to load
settings from [file:/elasticsearch/config/elasticsearch.yml]
at org.elasticsearch.common.settings.ImmutableSettings$Builder.loadFromStream(ImmutableSettings.java:947)
at org.elasticsearch.common.settings.ImmutableSettings$Builder.loadFromUrl(ImmutableSettings.java:931)
at org.elasticsearch.node.internal.InternalSettingsPreparer.prepareSettings(InternalSettingsPreparer.java:77)
at org.elasticsearch.bootstrap.Bootstrap.initialSettings(Bootstrap.java:106)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:177)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32)
Caused by: java.io.IOException: Tabs are illegal in YAML. Did you
mean to use whitespace character instead?
at org.elasticsearch.common.settings.loader.YamlSettingsLoader.load(YamlSettingsLoader.java:44)
at org.elasticsearch.common.settings.ImmutableSettings$Builder.loadFromStream(ImmutableSettings.java:944)
... 5 more
如何编辑 elasticsearch.yml
或替换它而不丢失数据或替换现有容器中的 elasticsearch.yml
文件?
最佳答案
您可以使用 docker cp $cont_name:/path/in 将文件复制出来然后再复制回容器中(即使容器已停止)/container/path/on/host
复制出来,然后 docker cp/path/on/host $cont_name:/path/in/container
.
关于linux - 如何将文件复制到停止的 docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34429757/