【问题标题】:Tika parser python with Docker giving RuntimeError: Details: Unable to start Tika server带有 Docker 的 Tika 解析器 python 给出 RuntimeError:详细信息:无法启动 Tika 服务器
【发布时间】:2020-04-09 17:31:46
【问题描述】:

没有 Docker,脚本能够使用 tika 解析 pdf 文件。

但是,当我尝试使用 Docker 时,我收到以下错误,因为 tika 服务器未运行:通过一些阅读,我尝试了以下操作 - 但错误仍然存​​在。

有人可以帮忙吗?

我最后附上 Dockerfile 并列出正在运行的 docker 容器 -

  1. docker pull apache/tika
  2. docker run -d -p 9998:9998 apache/tika
  3. cat Dockerfile(在最后列出)
  4. docker build -t docker_parser .
  5. docker run docker_parser

  6. docker ps -a


    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS                    NAMES

    8ff9fd3d0a84        docker_parser       "python ./scripts/..."   2 days ago          Exited (0) 4 minutes ago                            adoring_mestorf

    fdf132926c61        apache/tika         "/bin/sh -c 'java ..."   2 days ago          Up 6 minutes               0.0.0.0:9998->9998/tcp   optimistic_ride
  1. Dockerfile:

    FROM python:3

    RUN pip3 install --upgrade pip requests
    RUN pip3 install python-docx tika numpy pandas

    RUN mkdir scripts
    RUN mkdir pdfs
    RUN mkdir output

    ADD runner.py /scripts/
    ADD header_parser.py /scripts/
    ADD keyword_parser.py /scripts/

    ADD *.pdf /pdfs/

    CMD [ "python", "./scripts/runner.py" ]

8.代码中的错误: sentence_parser 糟糕!错误类型:发生。详细信息:无法启动 Tika 服务器。错误类型:在第 156 行

【问题讨论】:

  • Apache Tika 服务器是用 Java 编写的,你的 docker 镜像中也有吗? (看起来不是……)

标签: python docker apache-tika tika-server


【解决方案1】:

看起来你没有指定容器之间的链接,所以 tika-python 无法连接到端口 9998。你可以在 docker_parser 容器中添加 Java 并让它托管 Tika Server,否则你需要链接容器。

如果您想使用这两个镜像,您可以在运行时使用 Docker CLI 上的 --link 选项,或者构建一个网络 (docker network create) 并将两个容器连接在一起(docker 网络连接)。我通常使用 docker-compose 来简化这些事情并在那里指定链接。

【讨论】:

    猜你喜欢
    • 2021-02-18
    • 2019-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    • 2023-03-12
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多