I have a Java project that uses OpenCV and tesseract libraries, these libraries have native libraries (libopencv, libopencv_java and libtesseract). so these native libraries must be installed in target platforms (depending on the platform, Linux, Windows, or Mac), because of so many reasons like lack of knowledge of our customers, lack of pre-build native libraries (in my own system I had to build OpenCV, because I can not find a pre-build) and versions incompatibility I am thinking to create a custom Linux image and set up all required libraries + my Java application on this image and ship this docker image to our customers. but I am new to containers technology. I do not know whether it is possible or not. does this solution work? if no, what is your recommendations if it works it solves all my problems.
update:
is there any significant performance overhead in non-Linux Hosts?