【问题标题】:Copy files inside of docker container before volumes are created (Solr docker image with custom configuration)在创建卷之前复制 docker 容器内的文件(具有自定义配置的 Solr docker 映像)
【发布时间】:2020-02-05 18:47:28
【问题描述】:

我需要使用已创建自定义配置的 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 可以转到 valuemes 部分,但我真的不明白我应该在哪里放置第一个 cp 和 rm 命令。

谢谢!

【问题讨论】:

    标签: docker solr docker-compose yaml


    【解决方案1】:

    您可以将您的命令添加到您的 docker compose 文件中( 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;"'
    

    对我有用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      • 2021-12-11
      • 1970-01-01
      • 2020-05-20
      • 2016-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多