Test and Deploy your Container
In general, we provide two options for deploying algorithm containers:
- Push code to a (private) Github repo, and let Grand Challenge build a container image in the cloud.
- Locally build and export container images with Docker. Then upload a container image directly to Grand Challenge.
Building a container image means that Docker converts your code to a standalone, transferable software package that can run your algorithm. You also need a local installation of Docker to test and debug your container, before you upload it to Grand Challenge.
The first option is considered best practice because it allows versioning: if your algorithm is linked to a repository, each time you tag a release, a new container image is built. This makes it easy to revert a faulty update and keeps your code maintainable long after you've moved on in your career.
Installing Docker: is it necessary?¶
Through the feedback that the GC support team received, we found that many users got stuck installing Docker. Although we don't recommend it, you could in principle circumvent Docker if you link a GitHub repo to your Algorithm on Grand Challenge.
Circumventing Docker in this way is only feasible if you have some baseline code to start with, because extensive debugging will not be possible. Building your Algorithm in the cloud may take an hour or so, thus the feedback loop is going to be slow.
However, if you are participating in a challenge, the challenge organizer may have published a baseline algorithm repository. It may need only minor adjustments for you to bring your algorithm into this. If it is easy as swapping out a few lines of code, without the need to test and debug, you could try your luck and link your repository.
Setting up a local environment¶
When you install Docker locally, you will need to do so on a Linux operating system , or on Windows with Windows subsystem for Linux (WSL 2), which is a Linux environment on Windows. If you are using Windows 11 (or newer versions of 10), make sure to follow our guide for setting up WSL.