Basis-Image
Jedes Template beginnt mit einer Quellumgebung. Das SDK unterstützt mehrere Einstiegspunkte, je nachdem, wie viel Kontrolle du benötigst.fromPythonImage(...)/from_python_image(...)für eine Standard-Python-LaufzeitumgebungfromUbuntuImage(...)/from_ubuntu_image(...)oderfromDebianImage(...)/from_debian_image(...)für eine Standard-Linux-BasisfromNodeImage(...)/from_node_image(...)undfromBunImage(...)/from_bun_image(...)für sprachspezifische BasenfromImage(...)/from_image(...)für ein beliebiges Container-ImagefromDockerfile(...)/from_dockerfile(...)wenn dein Dockerfile bereits die maßgebliche Quelle istfromBaseImage()/from_base_image()um mit der Standardbasis der Plattform zu beginnenfromTemplate(...)/from_template(...)um auf einem anderen Template aufzubauen
fromPythonImage("3.12") und from_python_image("3.12") entsprechen dem Start mit:
Dockerfile
Private Registries
Wenn sich dein Basis-Image in einer privaten Registry befindet, übergib beim Definieren der Template-Quelle Anmeldedaten. Die JS- und Python-SDKs unterstützen:- generische Registry-Anmeldedaten mit Benutzername und Passwort
- AWS-Registry-Anmeldedaten
- GCP-Registry-Anmeldedaten
- Huawei-Cloud-Registry-Anmeldedaten
Template definieren
Mit der Builder-API kannst du die finale Umgebung direkt im Code zusammenstellen. Häufige Definitionsschritte sind:runCmd(...)/run_cmd(...)zum Installieren von Paketen oder Ausführen von Provisioning-Befehlencopy(...)zum Einbinden lokaler DateienmakeDir(...),remove(...),rename(...)undmakeSymlink(...)zur Gestaltung des DateisystemssetEnvs(...)/set_envs(...)für UmgebungsvariablenpipInstall(...),npmInstall(...),bunInstall(...)undaptInstall(...)für die Paket-EinrichtunggitClone(...)/git_clone(...)um Code in das Image zu bringen
Start- und Bereitschaftsbefehle
Verwende einen Startbefehl, wenn das Template im Build-Ergebnis einen langlebigen Dienst starten soll, und verwende einen Bereitschaftsbefehl, um festzulegen, wann dieser Dienst als fehlerfrei gilt. Das ist nützlich für Web-Apps, API-Server, Background-Worker und jedes Template, das bereits initialisiert sein soll, wenn eine Sandbox startet.setReadyCmd(...) / set_ready_cmd(...) konfigurieren.