我是Docker的新手。我的docker桌面在Windows 10上运行。我必须在docker容器中运行solr,然后将其推送到docker private仓库中心。
我正在关注文章https://github.com/docker-solr/docker-solr
我有一个在Linux上使用docker容器运行的azure Web应用程序-它将从docker hub存储库中调用docker镜像私有。
http://solrdockerwebapp.azurewebsites.net/solr/#/-这是在Azure上运行的Web应用程序。
我已经使用PowerShell命令在Docker桌面中下载了solr。
docker pull solr:latest
docker run -d -p 8983:8983 --name my_solr solr:v1
我在本地浏览器http:// localhost:8983 / solr /#中检查它是否正常运行。现在,我创建一个新的Solr核心文件,该文件在solrdata / data / core_demo文件夹下生成。
但是,如果我将图像推送到docker私有存储库中,则该核心文件不会增加。
以下是我的docker文件
FROM openjdk:11-jre
ARG SOLR_VERSION="8.5.2"
ADD data/core_demo /opt/solr-8.5.2/server/solr/configsets
WORKDIR /opt/solr
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["solr-foreground"]
生成并提交图像。
docker commit my_solr myprivaterepo/solr:latest
docker push myprivaterepo/solr:latest
问题是我的核心文件在本地计算机磁盘上生成
D:/ DockerFolder / var / solr / data / core_demo
但是在将映像推送到docker hub之后,这些核心文件和文件夹并未在此处累加。因此,Azure Solr Web应用程序仅运行solr,而没有任何核心文件。
任何建议或帮助将非常有帮助。
我不是Docker专家,在查看您的帖子后,我可以建议您使用以下命令:
docker volume create var
From solr:latest
COPY var/data var/solr/server/solr/data
docker build --tag solr:latest .
docker run -d -v "$PWD/var:/var/solr" -p 8983:8983 --name Your_solrContainer solr:latest solr-precreate gettingstarted
6,在这个docker hub上提交并像你在帖子中提到的那样推送
docker commit Your_solrContainer myprivaterepo/solr:latest
docker push myprivaterepo/solr:latest
现在,我希望您的Solr核心数据已安装,并且您将能够在运行的Web应用程序中看到它们。唯一缺少的是容量,因此数据可以持久保存在docker映像上。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句