Docker


Οι Representers μας γίνονται deploy ως images του Docker.

Διάβασε τις γενικές πληροφορίες για το Docker στο Tooling για να εξοικειωθείς με το πώς λειτουργούν.

Ενσωμάτωση

Όταν τρέχουμε έναν Representer για να δημιουργήσουμε μια αναπαράσταση λύσης, εκτελούμε μια εντολή 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"

Όπως βλέπεις, περνάμε τρία ορίσματα στο image του Docker:

  1. Το slug της άσκησης
  2. Τη διαδρομή του καταλόγου της λύσης
  3. Τη διαδρομή του καταλόγου εξόδου

Συμβάσεις

Όλοι οι Representers μας χρησιμοποιούν τις παρακάτω συμβάσεις στην υλοποίησή τους:

  • Το Dockerfile βρίσκεται στον ριζικό κατάλογο του αποθετηρίου.
  • Ο κατάλογος εργασίας πρέπει να είναι /opt/representer.
  • Το entrypoint είναι το /opt/representer/bin/run.sh
  • Το script /opt/representer/bin/run.sh δέχεται 3 ορίσματα:
    1. Το slug της άσκησης
    2. Τη διαδρομή του καταλόγου της λύσης
    3. Τη διαδρομή του καταλόγου εξόδου

Για περισσότερες πληροφορίες, δες τη διεπαφή.

Note

Τα νέα αποθετήρια Representer θα χρησιμοποιούν αυτές τις συμβάσεις από προεπιλογή.