Docker


हमारे रिप्रेजेंटर Docker इमेज के रूप में डिप्लॉय किए जाते हैं।

इनके काम करने का तरीका समझने के लिए कृपया Docker टूलिंग की सामान्य जानकारी पढ़िए।

इंटीग्रेशन

जब हम हल का रिप्रेजेंटेशन बनाने के लिए एक रिप्रेजेंटर चलाते हैं, तो हम एक Docker कमांड चलाते हैं जो कुछ इस तरह है:

docker run \
        --rm \
        --network none \
        --mount type=bind,src="${solution_dir}",dst=/solution \
        --mount type=bind,src="${output_dir}",dst=/output \
        --tmpfs /tmp:rw \
        "exercism/${track_slug}-representer" \
        "${exercise_slug}" "/solution" "/output"

आप देख सकते हैं कि हम Docker इमेज को तीन आर्गुमेंट देते हैं:

  1. अभ्यास का स्लग
  2. हल की डायरेक्टरी का पाथ
  3. आउटपुट डायरेक्टरी का पाथ

कन्वेंशन

हमारे सभी रिप्रेजेंटर अपने इम्प्लीमेंटेशन में निम्नलिखित कन्वेंशन इस्तेमाल करते हैं:

  • Dockerfile रीपो की रूट डायरेक्टरी में है।
  • वर्किंग डायरेक्टरी /opt/representer होनी चाहिए।
  • एंट्रीपॉइंट /opt/representer/bin/run.sh है।
  • /opt/representer/bin/run.sh स्क्रिप्ट 3 आर्गुमेंट लेती है:
    1. अभ्यास का स्लग
    2. हल की डायरेक्टरी का पाथ
    3. आउटपुट डायरेक्टरी का पाथ

अधिक जानकारी के लिए इंटरफ़ेस देखिए।

Note

नए रिप्रेजेंटर रीपो डिफॉल्ट रूप से ये कन्वेंशन इस्तेमाल करेंगे।