如何解决如何安装命令行实用程序以在puckel docker-airflow docker容器中使用
我试图在puckel docker-airflow容器中安装poppler-utils,以便可以通过Airflow BashOperator对pdftotext进行命令行调用。可以在here中找到有关如何设置和使用pdftotext的详细信息,我可以确认直接安装在我的Linux Mint(Ubuntu)操作系统上时,它可以正常工作。
因此,由于对Docker / puckel docker-airflow的了解有限,我前往Dockerfile并对其进行了如下修改(请参阅底线):
RUN set -ex \
&& buildDeps=' \
freetds-dev \
libkrb5-dev \
libsasl2-dev \
libssl-dev \
libffi-dev \
libpq-dev \
git \
' \
&& apt-get update -yqq \
&& apt-get upgrade -yqq \
&& apt-get install -yqq --no-install-recommends \
$buildDeps \
freetds-bin \
build-essential \
default-libmysqlclient-dev \
apt-utils \
curl \
rsync \
netcat \
locales \
poppler-utils \
...
但是,当我旋转容器并尝试运行pdftotext时(通过Airflow BashOperator或容器执行过程中的命令行),我得到:
bash: pdftotext: command not found
有人可以建议我如何做吗?
干杯!
解决方法
快速解决方案是:
以root用户身份访问airflow worker的容器ID
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c73425b30981 puckel/docker-airflow:1.10.9 "/entrypoint.sh work…" 7 hours ago Up 7 hours 5555/tcp,8080/tcp,8793/tcp airflow_worker_1
docker exec -it --user root c73 /bin/bash
运行apt获取更新
root@c73425b30981:/usr/local/airflow# apt-get update
然后为Debian安装pdftext工具
root@c73425b30981:/usr/local/airflow# apt-get install poppler-utils
然后您将可以使用pdftotext命令
pdftotext {PDF-file} {text-file}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。