Перейти к содержимому

Шаблон с 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, измените описание и пересоберите шаблон.