对于扫描仪前端项目,我试图将sane,sane-utils和专有软件包(Brother的brscan4)添加到现有的docker映像中,但是没有运气。原始文件位于here。 我的一个限制是原始Dockerfile使用Alpine,但是我需要一个驱动程序来与我的扫描仪(兄弟的)通信,并且该驱动程序仅适用于Arch和Debian / Ubuntu。
这是我到目前为止尝试的更改:
FROM php:${PHP_VERSION}-fpm-alpine AS api_platform_php
# Add required packages
# edge/testing required for sane-utils
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing/" >> /etc/apk/repositories && \
apk add --update --no-cache sane sane-utils
这已添加到文件的顶部。它实际上可以工作,并且二进制文件可用,但是尝试添加扫描程序包将不起作用(仅适用于Debian)。
我还使用纯debian软件包(在Dockerfile的末尾添加)尝试了以下操作:
FROM debian:stretch-slim
RUN apt update && apt install -y \
sane \
sane-utils \
wget \
&& rm -rf /var/lib/apt/lists/* \
&& wget http://www.brother.com/pub/bsc/linux/dlf/brscan4-0.4.2-1.amd64.deb && dpkg -i brscan4-0.4.2-1.amd64.deb
运行docker-compose up --build可以运行,但是找不到二进制文件。
我的方法是否存在任何错误,或者这是不行吗?
答案 0 :(得分:0)
我最终决定基于Stretch-Slim创建一个全新的实例,并以此方式检索所有必需的二进制文件。猜测问题是因为docker-compose.yml引用了一个高山映像,但是Dockerfile尝试从debian:stretch-slim安装软件包。