Local Development¶
Building Images¶
Before using Spin, if you plan to deploy custom software that you have built, you should become familiar with how to write Dockerfiles, build Docker container images for your application, and push them to an image registry.
Typically, a build process will look something like this:
TAG="registry.nersc.gov/<myproject>/<myimage>:<mytag>"
docker build -t $TAG . && docker push $TAG
Image Registries Supported by Spin¶
Spin can run application images from Docker Hub or from the NERSC image registry at https://registry.nersc.gov/.
Access to the NERSC image registry is typically set up during the SpinUp Workshop.
Running Complex Apps Locally¶
If your application is composed of multiple containers, and you want to continue developing locally in addition to deploying in Spin, you may want to become familiar with a simple deployment tool to use in your local development environment.
There are several available tools you can use to do this.
Docker Compose¶
Docker Compose, which allows you to deploy stacks of multiple containers using a docker-compose.yml
file on your workstation.
Read more about working with Docker.
Rancher Desktop¶
Rancher Desktop provides the Docker runtime environment (much like Docker Desktop), as well as providing a local Kubernetes deployment.
Read more about getting started with Rancher Desktop.
Podman Desktop¶
Podman Desktop is a graphical tool that lets you use the Podman container runtime environment and work with local or remote Kubernetes clusters.