尝试将扫描实用程序添加到Docker映像

时间:2018-08-11 15:17:34

标签: docker docker-compose

对于扫描仪前端项目,我试图将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可以运行,但是找不到二进制文件。

我的方法是否存在任何错误,或者这是不行吗?

1 个答案:

答案 0 :(得分:0)

我最终决定基于Stretch-Slim创建一个全新的实例,并以此方式检索所有必需的二进制文件。猜测问题是因为docker-compose.yml引用了一个高山映像,但是Dockerfile尝试从debian:stretch-slim安装软件包。