ippsample
ippsample copied to clipboard
Docker ippsample not running, issue with avahi-daemon
I cloned the repository and followed the provided instructions to build the Docker image. However, after running docker compose up ippserver, the container exits with code 127, indicating a missing command. The logs suggest that avahi-daemon is not recognized, and the ippserver command is not found.
Steps to reproduce the behavior:
- Git clone, go to https://github.com/istopwg/ippsample/blob/master/DOCKER.md
- docker build -t ippsample .
[+] Building 346.0s (18/18) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 1.68kB 0.0s
=> [internal] load metadata for docker.io/library/ubuntu:latest 0.8s
=> [internal] load .dockerignore 0.1s
=> => transferring context: 122B 0.0s
=> [internal] load build context 0.5s
=> => transferring context: 33.73MB 0.5s
=> [builder 1/8] FROM docker.io/library/ubuntu:latest@sha256:72297848456d5d37d1262630108ab308d3e9ec7ed1c3286a32fe09856619a782 6.2s
=> => resolve docker.io/library/ubuntu:latest@sha256:72297848456d5d37d1262630108ab308d3e9ec7ed1c3286a32fe09856619a782 0.1s
=> => sha256:3afff29dffbc200d202546dc6c4f614edc3b109691e7ab4aa23d02b42ba86790 424B / 424B 0.0s
=> => sha256:a04dc4851cbcbb42b54d1f52a41f5f9eca6a5fd03748c3f6eb2cbeb238ca99bd 2.30kB / 2.30kB 0.0s
=> => sha256:5a7813e071bfadf18aaa6ca8318be4824a9b6297b3240f2cc84c1db6f4113040 29.75MB / 29.75MB 4.4s
=> => sha256:72297848456d5d37d1262630108ab308d3e9ec7ed1c3286a32fe09856619a782 6.69kB / 6.69kB 0.0s
=> => extracting sha256:5a7813e071bfadf18aaa6ca8318be4824a9b6297b3240f2cc84c1db6f4113040 1.5s
=> [builder 2/8] RUN apt-get update 36.5s
=> [builder 3/8] RUN apt-get upgrade -y 5.5s
=> [builder 4/8] RUN apt-get install -y avahi-daemon avahi-utils curl man iputils-ping net-tools tcpdump vim 16.9s
=> [builder 5/8] RUN apt-get install -y build-essential autoconf libavahi-client-dev libjpeg-dev libnss-mdns libpam-dev libpng-dev libssl-dev libusb-1.0-0-dev zlib1g-dev 219.2s
=> [builder 6/8] COPY . /root/ippsample/ 0.8s
=> [builder 7/8] WORKDIR /root/ippsample 0.1s
=> [builder 8/8] RUN ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var; test -f server/ippserver && make clean; make && make install 55.9s
=> [stage-1 5/9] COPY --from=builder /root/ippsample /root/ippsample 0.7s
=> [stage-1 6/9] WORKDIR /root/ippsample 0.1s
=> [stage-1 7/9] RUN sed -ie 's/rlimit-nproc=3/rlimit-nproc=8/' /etc/avahi/avahi-daemon.conf 0.3s
=> [stage-1 8/9] RUN update-rc.d dbus defaults 0.3s
=> [stage-1 9/9] RUN echo '#!/bin/bash\nservice dbus start\nservice avahi-daemon start\n$*\n' > /usr/bin/entrypoint.sh && chmod +x /usr/bin/entrypoint.sh 0.3s
=> exporting to image 1.5s
=> => exporting layers 1.5s
=> => writing image sha256:1f5a25bd4c17d45d37a3cc11836b3bec18fa8ebb92712c78eb26fe848dfa53a6 0.0s
=> => naming to docker.io/library/ippsample
- docker compose up ippserver
WARN[0000] /ippsample/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
[+] Building 1.0s (19/19) FINISHED docker:default
=> [ippserver internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 1.68kB 0.0s
=> [ippserver internal] load metadata for docker.io/library/ubuntu:latest 0.7s
=> [ippserver internal] load .dockerignore 0.0s
=> => transferring context: 122B 0.0s
=> [ippserver internal] load build context 0.1s
=> => transferring context: 35.34kB 0.0s
=> [ippserver builder 1/8] FROM docker.io/library/ubuntu:latest@sha256:72297848456d5d37d1262630108ab308d3e9ec7ed1c3286a32fe09856619a782 0.0s
=> CACHED [ippserver builder 2/8] RUN apt-get update 0.0s
=> CACHED [ippserver builder 3/8] RUN apt-get upgrade -y 0.0s
=> CACHED [ippserver builder 4/8] RUN apt-get install -y avahi-daemon avahi-utils curl man iputils-ping net-tools tcpdump vim 0.0s
=> CACHED [ippserver builder 5/8] RUN apt-get install -y build-essential autoconf libavahi-client-dev libjpeg-dev libnss-mdns libpam-dev libpng-dev libssl-dev libusb-1.0-0-dev zlib1g-dev 0.0s
=> CACHED [ippserver builder 6/8] COPY . /root/ippsample/ 0.0s
=> CACHED [ippserver builder 7/8] WORKDIR /root/ippsample 0.0s
=> CACHED [ippserver builder 8/8] RUN ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var; test -f server/ippserver && make clean; make && make install 0.0s
=> CACHED [ippserver stage-1 5/9] COPY --from=builder /root/ippsample /root/ippsample 0.0s
=> CACHED [ippserver stage-1 6/9] WORKDIR /root/ippsample 0.0s
=> CACHED [ippserver stage-1 7/9] RUN sed -ie 's/rlimit-nproc=3/rlimit-nproc=8/' /etc/avahi/avahi-daemon.conf 0.0s
=> CACHED [ippserver stage-1 8/9] RUN update-rc.d dbus defaults 0.0s
=> CACHED [ippserver stage-1 9/9] RUN echo '#!/bin/bash\nservice dbus start\nservice avahi-daemon start\n$*\n' > /usr/bin/entrypoint.sh && chmod +x /usr/bin/entrypoint.sh 0.0s
=> [ippserver] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:5ee47e6e79bf4b6f6371ed9fd72470c26a5d14256c7681ff75274fdc979a6eb4 0.0s
=> => naming to docker.io/library/ippsample-ippserver 0.0s
=> [ippserver] resolving provenance for metadata file 0.0s
[+] Running 2/2
✔ Network ippsample_default Created 0.2s
✔ Container ippsample-ippserver-1 Created 0.1s
Attaching to ippserver-1
ippserver-1 | * Starting system message bus dbus
ippserver-1 | ...done.
ippserver-1 | avahi-daemon: unrecognized service
ippserver-1 | /usr/bin/entrypoint.sh: line 4: ippserver: command not found
ippserver-1 exited with code 127
I hope this is a simple configuration issue that I may have missed. Any guidance would be appreciated!
I dont know if this is an official answer but my solution was to update the Dockerfile to change this at the end:
OLD:
# Create entrypoint.sh script to start dbus and avahi-daemon
RUN echo '#!/bin/bash\n\
service dbus start\n\
service avahi-daemon start\n\
$*\n\
NEW:
# Create entrypoint.sh script to start dbus and avahi-daemon
RUN echo '#!/bin/bash\n\
service dbus start\n\
avahi-daemon --no-chroot -D\n\
$*\n\
Basically there is an issue in wsl2 that has to with the systemd implementation that causes an issue when using systemctl or services. So I manually start the avahi-daemon, it works. I ran all the ipp sample tests as well. Hope that helps.