The Dockerfile:
# Use an official Debian runtime as a parent image
FROM debian:latest
# Set environment variables
ENV DEBIAN_FRONTEND=noninteractive
# Install necessary packages
RUN apt-get update
RUN apt-get install -y wget build-essential autoconf automake pkg-config libxml2-dev libexpat1-dev tcl-dev libbz2-dev libtool xsltproc inkscape
# Install YAZ
RUN apt-get install -y libyaz-dev
# Verify YAZ installation
RUN pkg-config --cflags yaz && pkg-config --libs yaz
# Set PKG_CONFIG_PATH to ensure configure script can find YAZ
ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig
# Download and install Zebra
RUN wget http://ftp.indexdata.dk/pub/zebra/idzebra-2.2.7.tar.gz
RUN tar -xzf idzebra-2.2.7.tar.gz
RUN cd idzebra-2.2.7 && \
./configure && \
make && \
make install
# Create a directory for Zebra configuration and data
RUN mkdir -p /etc/zebra /var/lib/zebra
# Copy default configuration files (you can customize these as needed)
COPY zebra.cfg /etc/zebra/zebra.cfg
COPY zebra-bib1.att /etc/zebra/zebra-bib1.att
# Expose the port Zebra will run on
EXPOSE 210
# Start Zebra
CMD ["zebraidx", "-c", "/etc/zebra/zebra.cfg", "update", "record"]
CMD ["zebrasrv", "-f", "/etc/zebra/zebra.cfg"]
The container creation breaks with the error
configure: error: YAZ development libraries requiredNote that the installation of the YAZ libraries has been verified (RUN pkg-config --cflags yaz && pkg-config --libs yaz). The same error happens with Ubuntu as the parent image.