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}-analyzer" \
        "${exercise_slug}" "/solution" "/output"

可以看到我們傳了三個引數給 Docker 映像檔:

  1. 練習的 slug
  2. 解法目錄的路徑
  3. 輸出目錄的路徑

慣例

我們所有的分析器在實作時都遵循以下慣例:

  • Dockerfile 位於儲存庫的根目錄。
  • 工作目錄應該是/opt/analyzer。
  • 進入點是/opt/analyzer/bin/run.sh
  • /opt/analyzer/bin/run.sh指令碼接受 3 個引數:
    1. 練習的 slug
    2. 解法目錄的路徑
    3. 輸出目錄的路徑

更多資訊請參閱介面。

Note

新的分析器儲存庫預設會採用這些慣例。