Application Image#
The workspace.spec.image attribute determines what software runs in the workspace’s container. Any container image that listens on an HTTP port works — common choices include:
JupyterLab
VS Code (code-server, OpenVSCode Server)
Custom images built on top of the above
Image selection with templates#
When a workspace references a template, the template controls which images are allowed:
Template setting |
Effect |
|---|---|
|
Used when the workspace omits |
|
AllowList — workspace may pick from this list |
|
Any image is accepted |
If the template defines allowedImages and the workspace specifies an image not in the list, the admission webhook rejects the request.
Container configuration#
You can override the image’s default entrypoint with spec.containerConfig:
spec:
containerConfig:
command: ["/bin/sh"]
args: ["-c", "jupyter lab --ip=0.0.0.0 --port=8888"]
Templates can provide a defaultContainerConfig that applies when the workspace doesn’t specify one.