gpt4 book ai didi

elasticsearch - docker-compose 将文件复制为文件夹

转载 作者:行者123 更新时间:2023-11-29 02:52:21 25 4
gpt4 key购买 nike

我正在尝试使用 docker-compose volumes 选项将启用了 CORS 的 elasticsearch.yml 从我的主机复制到容器中。但是当我复制 config 文件夹时,它会将其中的 elasticsearch.yml 文件复制为一个文件夹。

这是我的 docker-compose 文件:

version: "3"

services:
elasticsearch1:
container_name: my_container_name
image: elasticsearch
environment:
- "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
volumes:
- /config/:/usr/share/elasticsearch/config/
ports:
- '9200:9200'
- '9300:9300'

这是我在运行 docker-compose up 时收到的错误消息:

Exception in thread "main" SettingsException[Failed to load settings from /usr/share/elasticsearch/config/elasticsearch.yml]; nested: IOException[Is a directory];

我也尝试复制到 tmp 文件夹,文件被列为文件夹:

drwxr-xr-x 2 root root 40 Jul 6 08:25 elasticsearch.yml

我做错了什么?

最佳答案

使用适用于 Windows 的 Docker 和适用于 Mac 的 Docker,您可以在 VM 内部运行 docker 并将目录从该 VM 内部安装到您的容器中。当文件或目录不存在于 VM 中时,Docker 会将其挂载为一个空文件夹作为默认行为(此行为似乎随着 swarm 模式而改变)。

要从 Windows 主机获取文件夹到 VM,然后将其映射到容器,您需要进入 docker 设置并配置共享驱动器:

https://docs.docker.com/docker-for-windows/#shared-drives

关于elasticsearch - docker-compose 将文件复制为文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44944632/

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