【问题标题】:Docker Hub Private Repository : Unable to push Solr Core files in private repositoryDocker Hub 私有存储库:无法在私有存储库中推送 Solr Core 文件
【发布时间】:2020-10-25 07:52:22
【问题描述】:

我是 docker 新手。我的 docker 桌面在 Windows 10 上运行。我必须在 docker 容器中运行 solr,然后将其推送到 docker 私有存储库中心。

我在关注文章https://github.com/docker-solr/docker-solr

我有一个在 Linux 中运行的带有 docker 容器的 azure Web 应用程序 - 它将从 docker hub 存储库私有调用 docker 映像。

http://solrdockerwebapp.azurewebsites.net/solr/#/--this 是在 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 solr dockerhub solr8


    【解决方案1】:

    我不是 docker 专家,在查看您的帖子后,我可以建议您使用以下命令:

    1. 在 docker 桌面创建卷
    docker volume create var
    
    1. 更改 dockerfile 中的行
    From solr:latest 
    
    1. 将 docker 文件中的 ADD 替换为 COPY,如下所示
    COPY  var/data var/solr/server/solr/data
    
    1. 现在构建映像
    docker build --tag solr:latest . 
    
    1. Docker 使用一个合适的容器名称运行新建的镜像
    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 应用程序中看到它们。唯一缺少的是 volume ,因此数据可以保留在您的 docker 映像中。

    【讨论】:

    • 感谢您简短的回答,我已经尝试过了,并且能够在我的 azure Web 应用程序中看到核心文件,但无论如何都会出现其他一些 docker 文件错误。我将此标记为答案,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-01-05
    • 2016-12-31
    • 2018-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    相关资源
    最近更新 更多