আমি একটি পৃথক ওয়েব অ্যাপ্লিকেশনের জন্য যোগাযোগ পরিষেবা হিসাবে ব্যবহৃত একটি অ্যাপ্লিকেশন তৈরি করেছি। আমার কাছে ওয়েব অ্যাপটি "ডকারাইজিং" সমস্যা ছিল তবে পরিষেবাটি দুঃস্বপ্ন হিসাবে প্রমাণিত হচ্ছে। এটি জাভাএফএক্স ভিত্তিক এবং এমন একটি সম্পত্তি রয়েছে যা ব্যবহারকারীর দ্বারা কনফিগার ফাইলে সেট করা যায় যা অ্যাপ্লিকেশনটি কোনও উইন্ডো, মেনু, পাত্রে ইত্যাদির সূচনা না করে এই "হেডলেস" মোডে (নিশ্চিত না যে সত্যই এটি নিশ্চিত হেডলেস ...) কার্যকরভাবে পরিষেবা অ্যাপটিকে পটভূমির পরিষেবাতে রূপান্তরিত করে। আমার উইন্ডোজ 10 মেশিনে চালিত হওয়ার সময় অ্যাপটি একেবারে ত্রুটিহীনভাবে কাজ করে এবং আমি কোনও সমস্যা ছাড়াই এটি বেশ কয়েকটি অন্যান্য মেশিনে (সমস্ত ডক-ডাইজারাইজড) স্থাপন করেছি বলে এই প্রবন্ধটিও বলতে চাই Let
এই যে ডকফায়াইলটি আমি নিয়ে এসেছি:
FROM openjdk:13.0.1-slim
RUN apt-get update && apt-get install libgtk-3-0 libglu1-mesa -y && apt-get update
VOLUME /tmp
ADD Some_Service-0.0.1-SNAPSHOT.jar Some_Service-0.0.1-SNAPSHOT.jar
ADD lib lib
ADD config.properties config.properties
ENTRYPOINT ["java", "--module-path", "lib/javafx-sdk-13", "-jar", "Some_Service-0.0.1-SNAPSHOT.jar"]
আমি তখন এই কমান্ডটি ধারকটি তৈরি করতে ব্যবহার করি:
docker run -t --name Some_Service -e DISPLAY=192.168.1.71:0.0 -e SERVICE_HOME= --link mySQLMD:mysql some_service
ধরে নিই আমার পিসিতে ভিসিএক্সএসআরভি চলছে, অ্যাপটি সঠিকভাবে শুরু হবে, যদিও এটি প্রথম শুরু করার পরে এই সতর্কতা দেয়:
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Prism-ES2 Error : GL_VERSION (major.minor) = 1.4
সমস্যাটি হ'ল এটি কেবল 2 মিনিটের মতো কাজ করে। অবশেষে ধারকটি এই ত্রুটিটি নিয়ে আসে এবং ক্র্যাশ করে:
Gdk-Message: 15:28:54.770: java: Fatal IO error 11 (Resource temporarily unavailable) on X server 192.168.1.71:0.0.
আমি বুঝতে পারি যে প্রারম্ভিক বার্তাগুলি কোনও পাত্রে এনভিডিয়া ড্রাইভার না থাকার কারণে রয়েছে তবে সফ্টওয়্যার পাইপলাইনের পতন ঠিকঠাক বলে মনে হচ্ছে। সত্যিই আমার মারাত্মক আইও ত্রুটি কী কারণে হতে পারে তা আমার কোনও ধারণা নেই। আমি বিভিন্ন হোস্টকে ডকার চালানোর চেষ্টা করেছি এবং একই সমস্যা ঘটে।
কোন ধারনা কিভাবে এটা ঠিক করতে হবে? আরও ভাল, কোনও জাভাএফএক্সএক্স অ্যাপ্লিকেশনকে কীভাবে সত্যবিহীন করা যায় এবং এই স্টাফটির কোনওটি আরম্ভ করার প্রয়োজন হয় না তা সম্পর্কে কোনও ধারণা? মাথা বিহীন চলাকালীন, আমি টাস্কগুলি ব্যবহার করি এবং এটি জাভাএফএক্সের অংশ তাই আমি কেবল এটি ব্যবহার করতে পারি না ...
-v /tmp/.X11-unix:/tmp/.X11-unix
) তে হোস্ট হোস্ট জেসারভারকে বাইন্ড-মাউন্ট করার চেষ্টা করেছেন ? এক্সারভারের সাথে সংযুক্ত করার চেষ্টা করা অ্যাপটি পরামর্শ দেয় যে এটি "মাথাছাড়া" নয়, বাস্তবায়নটি পর্যালোচনা করা দরকার।