Шаблон с Docker
Шаблон устанавливает Docker Engine и Docker Compose. Ubuntu запускает Docker как системную службу при загрузке песочницы.
mjs
import { Sandbox, Template } from "@abox-dev/sdk";
const templateName = process.env.TEMPLATE_NAME ?? "docker-runtime";
const template = Template()
.fromUbuntuImage("24.04")
.aptInstall(["docker.io", "docker-compose-v2"])
.runCmd("sudo docker pull alpine:3.22");
await Template.build(template, templateName, {
cpuCount: 2,
memoryMB: 2_048,
});
const sandbox = await Sandbox.create(templateName);
try {
const result = await sandbox.commands.run(
'sudo docker run --rm --network none alpine:3.22 echo "Hello from Docker" && sudo docker compose version',
);
console.log(result.stdout);
} finally {
await sandbox.kill();
}Образ Alpine загружается при сборке шаблона и уже находится в новой песочнице. Пример запускает контейнер без сети, а затем выводит установленную версию Compose.
Если нужен другой базовый образ или версия Docker, измените описание и пересоберите шаблон.