Индекс на дневникаDockup / бележка от практиката
Note / linux-box-cloud-server

Linux cloud кутии в Dockup: 7 дистрибуции

Linux cloud кутии в Dockup: изберете една от седем дистрибуции, задайте CPU и RAM, получете SSH достъп, конфигурирайте операционната система и сравнете контейнерите.

Linux cloud кутиите предоставят среда с операционна система, която конфигурирате през SSH. Те са полезни за експерименти, legacy софтуер, персонализирани системни услуги, build хостове и задачи, чийто lifecycle не е естествено свързан с Git repository или container image.

Dockup поддържа седем варианта на image: Ubuntu 22.04, Ubuntu 24.04, Debian 12, Alpine 3.20, Fedora 40, AlmaLinux 9 и Rocky Linux 9.

Кога Linux кутията е по-добър избор от container service?

Изберете кутия, когато задачата изисква контрол върху операционната система, а не само върху application process.

Подходящи примери са:

  • Инсталиране на няколко system daemon-а.
  • Интерактивно тестване на пакети за операционната система.
  • Стартиране на legacy application с ръчна настройка.
  • Поддръжка на build или automation host.
  • Възпроизвеждане на Linux среда на клиент.
  • Изпълнение на дълго работещи инструменти, които не са организирани като Git deploy.
  • Създаване на временна изолирана SSH workspace среда.

Предпочетете Dockup service, когато задачата е възпроизводимо приложение с repository, build, start command, health endpoint и нужда от horizontal scaling.

ИзискванеLinux кутияContainer service
Персонализиране на операционната система с root праваПодходящоПоставете промените в Dockerfile
SSH администрацияВграденаInteractive shell е PRO
Автоматичен deploy при Git pushРъчна настройкаВградено
Blue-green health gateРъчно проектиранеВградено
Възпроизводим imageНеобходими са runbook/scriptDockerfile/Nixpacks
AutoscalingНе е част от модела на кутиятаKubernetes опция
Бързо тестване на дистрибуцииПодходящоМоже да е достатъчен base image

Кутията заменя автоматизацията на deployment-а с гъвкавост на операционната система.

Кои седем Linux дистрибуции са налични?

Заявете актуалния списък с image-и:

dockup box images --json
ImageЕкосистема от пакетиТипична причина за избор
ubuntu-22.04APTДългосрочна съвместимост
ubuntu-24.04APTПо-нова Ubuntu LTS база
debian-12APTКонсервативен общ server
alpine-3.20apkМалка среда, базирана на musl
fedora-40DNFПо-нови Linux инструменти
almalinux-9DNFСъвместимост с Enterprise Linux
rockylinux-9DNFСъвместимост с Enterprise Linux

Съобразете дистрибуцията с поддържаната среда от software vendor-а. Alpine използва musl вместо glibc, което може да повлияе на предварително компилирани native binaries. Enterprise Linux вариантите са полезни, когато софтуерът очаква тази package ecosystem.

Запишете точния image slug. „Ubuntu“ не е достатъчно конкретно, защото версиите на пакетите и периодите на поддръжка се различават между 22.04 и 24.04.

Как създавате Linux cloud кутия?

Provision-нете image-а с име, памет и CPU:

dockup box create \
  --project production \
  --image ubuntu-24.04 \
  --name build-host \
  --memory 2048 \
  --cpu 1 \
  --json

Този пример заявява 2 048 MB RAM и 1 vCPU. Започнете с измерени изисквания и коригирайте според наблюдаваното натоварване. Използването на CPU, RAM и disk се приспада от баланса на плана чрез измерване на минута.

Free plan е $0 на месец с начални $10 кредит, един workspace, три database-а и три deployment-а. Платените планове позволяват неограничен брой ресурси, но реално използваните изчислителни ресурси продължават да се приспадат от включения баланс. Препоръчителният Pro plan е $20 на месец с $20 кредит за употреба.

Създадената кутия става ресурс на проекта със стабилен target като production/build-host. Запазете този target в runbook-а.

Как получавате и защитавате SSH достъпа?

Заявете данните за връзка:

dockup box ssh production/build-host --json

Отговорът включва host, port, user и password. Третирайте password-а като чувствителна информация. Съхранявайте го в одобрен password manager, не го извеждайте в отговор на agent и го сменяйте или заменяйте според политиката на организацията.

Преди свързване:

  1. Проверете project и box slug.
  2. Потвърдете, че операторът е оторизиран.
  3. Запишете целта на сесията.
  4. Не копирайте production secrets върху disposable box.
  5. Не допускайте credentials да попадат в command history и log-ове.
  6. Затворете неизползваните пътища за достъп и сесии.

SSH достъпът предоставя широки права в кутията. Coding agent с тези credentials може да инсталира пакети, да променя services, да отваря ports или да изтрива файлове. Използвайте достъп на agent само в рамките на прегледана, ограничена задача и съхранявайте audit record извън shell-а.

Статията AI agent production guardrails представя модела за autonomy.

Как трябва да стартира SSH workload в Linux кутия?

След като получите SSH достъп, конфигурирайте стартирането на процеса с поддържаните инструменти на операционната система за избраната дистрибуция. Ubuntu, Debian, Fedora, AlmaLinux и Rocky Linux обикновено използват systemd; Alpine има собствени конвенции за управление на services.

Дефиницията за стартиране трябва да посочва executable, working directory, runtime user, необходимата environment, restart policy и log destination. Съхранявайте credentials извън unit file-а или startup script-а и използвайте absolute paths, така че поведението да не зависи от interactive shell.

Тествайте:

  • Workload-ът стартира след reboot без login на оператор.
  • Необходимата environment е налична без exports, специфични само за shell.
  • Log-овете имат известно местоположение.
  • Процесът работи с предвидения user.
  • Failure-ите се наблюдават.
  • Updates не заменят dependencies без предупреждение.

За един web process с тези изисквания Git-based container service може вече да предоставя по-добър lifecycle.

Как се управлява и възстановява Linux кутия?

Третирайте всяка ръчна команда като потенциален configuration drift. Описвайте настройката в script или процес за configuration management:

#!/usr/bin/env bash
set -euo pipefail

apt-get update
apt-get install -y git ca-certificates
mkdir -p /opt/app

Този общ пример не е Dockup command; той показва как конфигурацията на кутията да стане възпроизводима. Pin-нете или документирайте версиите на пакетите, когато workload-ът изисква стабилност.

Runbook-ът на кутията трябва да включва:

  • Image slug.
  • Заявените CPU и memory.
  • Инсталираните packages и repositories.
  • User accounts и SSH policy.
  • Местоположенията във filesystem-а.
  • Startup service, executable и working directory.
  • Отворените services и тяхната authentication.
  • Метод за data backup.
  • Процедура за patch и reboot.
  • Стъпки за rebuild.
  • Критерии за migration или retirement.

Не приемайте, че filesystem-ът на кутията има същия snapshot workflow като Dockup service volume, освен ако този workflow не е изрично конфигуриран и поддържан за ресурса. Проектирайте backup-ите според реално работещите там data и software.

Кога workload-ът трябва да се премести в container?

Преминете към container service, когато:

  • Setup-ът се е превърнал в стабилен script.
  • Един application process е основната цел.
  • Промените в source кода трябва да се deploy-ват от Git.
  • Необходими са releases без downtime, контролирани чрез health.
  • Rollback-ът трябва да избира предишен deployment ID.
  • Необходими са няколко идентични replicas.
  • Кутията се различава между операторите поради drift.
  • SSH достъпът се използва само за ръчен redeploy.

Превърнете setup-а в Dockerfile, дефинирайте application port и health path и първо deploy-нете preview или non-production service. Сравнете поведението, преди да изключите кутията.

Ръководството Nixpacks vs Dockerfile помага при избора на новия build method. Kubernetes vs Docker обяснява опциите за runtime placement.

Checklist за избор на Linux кутия

Надеждното решение за Linux cloud кутии отговаря на следните въпроси:

  1. Кой от седемте image slug-а съответства на поддръжката от vendor-а?
  2. Защо workload-ът не може да използва стандартен service?
  3. Как са защитени SSH credentials?
  4. Как се възпроизвежда setup-ът?
  5. Къде се намират log-овете и durable data?
  6. Как се тестват patches?
  7. Кой процес трябва да стартира автоматично?
  8. Какво събитие задейства containerization или retirement?

Използвайте Dockup CLI reference за актуалните box commands и image list. За задачи, които изискват Windows, вижте Windows VM with RDP.

Контролирайте доверието към packages и repositories

Кутията може да инсталира всеки package, заявен от оператора, затова package sources стават част от security boundary. Използвайте signed repositories на дистрибуцията, документирайте third-party repositories и не подавайте непроверени network scripts директно към root shell.

Запишете списъка с packages след setup и го сравнявайте при maintenance. Когато agent предложи инсталиране на tool, изисквайте package source, версия, предназначение и план за премахване.

Измервайте дали кутията все още е оправдана

Преглеждайте всеки месец честотата на SSH sessions, стъпките за manual deployment, изискването за uptime, използването на ресурси и инцидентите с drift. Кутия, която редовно получава application releases през SSH, показва, че се нуждае от възпроизводим service workflow.

Преглеждайте използването на CPU, RAM и disk от кутията в app.dockup.ai заедно с runbook-а. Linux cloud кутиите са ценни, когато контролът върху операционната система е изискването; те са скъпи за поддръжка, когато просто прикриват недокументиран application deployment.

Извеждайте временните кутии от употреба умишлено

Test box-ът трябва да има owner и expiry date още при създаването. Преди retirement експортирайте само одобрените durable data, премахнете копираните credentials, запазете всеки reusable setup script и потвърдете, че никой DNS, scheduled job или team runbook вече не зависи от host-а.

Това предотвратява превръщането на кратък експеримент в непачван постоянен server.

Определете owner за emergency access

Посочете човек или team, който отговаря, когато обичайният SSH оператор не е на разположение. Backup owner-ът трябва да знае къде се съхраняват credentials и как да провери точния target, без да споделя passwords.

Съхранявайте обосновката

Документирайте защо Linux cloud кутиите остават необходими.

Започнете с deployment, който може да бъде проверен

Създайте малка non-production кутия, опишете пълната ѝ настройка чрез script от clean image и предварително определете какви доказателства биха оправдали преместването на workload-а в container.

Започнете безплатно от app.dockup.ai. Free plan е $0 на месец, включва начални $10 кредит и поддържа един workspace, три database-а и три deployment-а.

Често задавани въпроси

Кои Linux дистрибуции могат да използват Dockup кутиите?

Dockup поддържа ubuntu-22.04, ubuntu-24.04, debian-12, alpine-3.20, fedora-40, almalinux-9 и rockylinux-9.

Как получавам SSH credentials за Linux кутия?

Изпълнете dockup box ssh с точния project/box target и --json, след което съхранявайте върнатите данни за връзка сигурно.

Как трябва да стартира software след SSH setup?

Конфигурирайте startup с поддържания service manager на избраната дистрибуция и документирайте executable, working directory, runtime user, environment, restart policy и log-овете.

Кога container service е по-добър от Linux кутия?

Използвайте container service, когато workload-ът е едно възпроизводимо приложение, което се възползва от Git deployment, health gates, rollback и autoscaling.

Как се таксуват ресурсите на Linux кутията?

Използването на CPU, RAM и disk се измерва на минута спрямо баланса на плана, затова следете реалното потребление и избягвайте прекалено големи allocations.