Skip to content

Getting Started: Docker

Wonsup Yoon edited this page Mar 29, 2022 · 8 revisions

Prerequisites

Install Docker

Prepare project

  1. Pull latest Docker image
$ docker pull ghcr.io/anlab-kaist/kens:latest
  1. Make empty workspace directory
  2. Run Docker container
docker run -it -v$PWD/workspace:/workspace ghcr.io/anlab-kaist/kens:latest dev
  1. Now, project files are available in the workspace directory

Build and test

See Getting Started: CLI (Linux)

Grading

We use Docker for grading

  • Grading parts
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-open
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-bind
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-handshake
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-close
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-transfer
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-open-unreliable
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-bind-unreliable
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-handshake-unreliable
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-close-unreliable
$ docker run -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-transfer-unreliable
$ docker run -v$PWD/workspace/app/routing:/submission:ro ghcr.io/anlab-kaist/kens:latest grade routing routing-all
  • Using RANDOM_SEED
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-open
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-bind
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-handshake
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-close
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-transfer
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-open-unreliable
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-bind-unreliable
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-handshake-unreliable
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-close-unreliable
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/kens:/submission:ro ghcr.io/anlab-kaist/kens:latest grade kens test-kens-transfer-unreliable
$ docker run --env RANDOM_SEED=1234 -v$PWD/workspace/app/routing:/submission:ro ghcr.io/anlab-kaist/kens:latest grade routing routing-all