ippsample icon indicating copy to clipboard operation
ippsample copied to clipboard

Docker ippsample not running, issue with avahi-daemon

Open amitoj opened this issue 10 months ago • 1 comments

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:

  1. Git clone, go to https://github.com/istopwg/ippsample/blob/master/DOCKER.md
  2. 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              
  1. 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!

amitoj avatar Feb 06 '25 09:02 amitoj

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.

AqeelMufthyHashim avatar Mar 06 '25 10:03 AqeelMufthyHashim