我正在尝试将使用从主机启用的CORS的elasticsearch.yml复制到使用docker-compose卷选项的容器。 但是当我复制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时得到的错误消息:
线程中的异常" main" SettingsException [无法从/usr/share/elasticsearch/config/elasticsearch.yml加载设置];嵌套:IOException [是目录];
我也尝试过复制到tmp文件夹,文件被列为文件夹:
drwxr-xr-x 2 root root 40 Jul 6 08:25 elasticsearch.yml
我做错了什么?
答案 0 :(得分:3)
使用适用于Windows的Docker和适用于Mac的Docker,您可以在VM内部运行docker,并将该VM中的目录安装到容器中。当文件或目录不存在于VM内部时,它将作为默认行为被Docker挂载为空文件夹(此行为似乎随着swarm模式而改变)。
要将Windows主机中的文件夹导入VM,然后将其映射到容器,您需要进入docker设置并配置共享驱动器: