That Dockerfile was developed with Void as a host.
I went to my new MX23 install
disabled xsane by removing libusb-0.1.so.4.4.4
Copied the Dockerfile from Void
installed docker.io in MX23
added nevj to docker group
built the container again in MX23
docker build -t myxsane:v2 .
and ran it
docker run -v /home/nevj:/home/nevj -v /var/run/dbus:/var/run/dbus -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -h $HOSTNAME -v $HOME/.Xauthority:/home/nevj/.Xauthority --device=/dev/dri/card0 myxsane:v2
It worked.
Xsane will not run in the MX23 host, but it will run in the container.
So I put libusb-0.1.so.4.4.4
back into MX23… it is a lot easier to use xsane natively, than in a container.
I just wanted to prove that the container solution would work, even though it eventually proved to be unnecessary.
Conclusion:
If something will only work in an older version of Linux, you can still run it in a container inside your newer version of Linux.
and
Dont try to run services in a container… just run the app. Use the host’s
services via volume sharing.