Using Docker
Wisp supports loading Docker Images into you VM as part of the wisp run
command. This
allows you to bring your containerized workloads and execute them without having to set
up the machine yourself.
In the background, Wisp provisions a VM on the selected cloud provider with a default
Machine Image. Wisp then authenticates Docker on that machine, and pulls the specified
image. When you execute wisp ssh
or run code remotely with wisp run
, Wisp forwards
you to the running Docker Container by first jumping to the Cloud VM, and then to the
locally running container.
Specifying a Docker Image
You can specify a specific docker image in wisp-spec.yml
under resources
:
resources:
...
docker_image: wisp-images/ubuntu22.04-amd64
...
Specifically, this pulls the Wisp managed Docker Image. You can see more about Wisp managed Docker Images below.
Remote Docker Images
Wisp supports three types of Registries:
- Public: Images from Dockerhub that can be pulled without authentication are fully supported. Simply paste the image URI as you would with any other Docker command.
- Private: To pull from private registries, such as GCP Artifacts, you must supply
three environment variables to the
env
entry in thewisp-spec.yml
file: To access private registries, such as GCP Artifacts, you need to provide three environment variables in theenv
section of thewisp-spec.yml
file:$DOCKER_USER
,$DOCKER_PASS
, and$DOCKER_HOST
. The method to obtain these credentials varies by provider. For detailed instructions, refer to the provider's documentation on Docker Credentials. Here are the guides for major cloud providers: AWS ECR, GCP Artifact Registry, Azure. - Wisp Managed: Wisp Manages basic images that you can use free of charge. To use them, simply supply the image name (refer to the table below), and Wisp will pull it.
Custom Images
You can use your own image, but certain requirements must be met for Wisp to be able to manage the runtime:
- Default user must have root access.
- Must be based on Debian or Ubuntu.
- Must have the following dependencies installed:
wget rsync jq screen openssh-server openssh-client ca-certificates gnupg
. - Must support x86_64 architecture.
Wisp Images
The following images can be used without further setup in Wisp:
Image Name | Tags | Notes |
---|---|---|
wisp-images/ubuntu22.04-amd64 | latest, cuda-12.4.0 | AMD64 (x86-64) Ubuntu image with essential tools pre-installed. CUDA, CuDNN and Conda pre-packaged! |
wisp-images/ubuntu22.04-arm64 | latest, cuda-12.4.0 | ARM64 Ubuntu image with essential tools pre-installed. CUDA, CuDNN and Conda pre-packaged! |