温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - Copy files inside of docker container before volumes are created (Solr docker image with custom conf
docker docker-compose solr yaml

其他 - 在创建卷之前将文件复制到docker容器内部(使用自定义conf的solr docker映像

发布于 2020-04-21 13:39:48

我需要使用已创建自定义配置的Solr创建docker容器。为了在未安装在Docker容器中时创建该配置,我需要执行以下操作:

cp -r /opt/solr/server/solr/configsets/basic_configs /opt/solr/server/solr/configsets/myconf

然后,我必须将自定义schema.xml复制到该位置:

cp conf/schema.xml solr/server/solr/configsets/myconf/conf

然后删除托管架构:

rm /opt/solr/server/solr/configsets/nutch/conf/managed-schema

我需要修改此docker-compose.yml以使其与上述命令相同:

version: '3.3'
services:
  solr:
    image: "solr:7.3.1"
    ports:
     - "8983:8983"
    volumes:
      - ./solr/conf/solr-mapping.xml:/opt/solr/conf/schema.xml
    entrypoint:
      - docker-entrypoint.sh
      - solr-precreate
      - mycore

schema.xml可以转到valumes部分,但我不太了解应该将第一个cp和rm命令放在哪里。

谢谢!

查看更多

提问者
kodlan
被浏览
77
shinee 2020-02-14 13:28

您可以将命令添加到Docker撰写文件( https://docs.docker.com/compose/compose-file/#command

version: '3.3'
services:
  solr:
  image: "solr:7.3.1"
  ports:
    - "8983:8983"
  volumes:
      - ./solr/conf/solr-mapping.xml:/opt/solr/conf/schema.xml

  command: 'bash -e -c "precreate-core mycore; cp /opt/solr/conf/schema.xml /opt/solr/server/solr/mycores/mycore/conf/schema.xml; cp /opt/solr/conf/solrconfig.xml /opt/solr/server/solr/mycores/mycore/conf/solrconfig.xml; rm /opt/solr/server/solr/mycores/mycore/conf/managed-schema; solr-foreground;"'

这个对我有用