Back to Marketplace
Docker

Docker

Version 29.3.1OS Ubuntu 24.04 LTS
DevOps & Containers

Description

What is the Docker 1-click VM?

The Docker 1-click VM is a clean Ubuntu 24.04 host with the full Docker toolchain pre-installed and ready to use. Docker Engine, the Docker Compose v2 plugin, Buildx, and BuildKit are all configured on first boot, so you can docker run, docker compose up, or build multi-stage images the moment you SSH in.

This image is the foundation, not a curated stack. It is meant for developers and teams who want a container-ready Linux host without spending the first hour after deploy installing Docker, configuring the daemon, opening firewall ports, and adding swap. Bring your own docker-compose.yml, your own custom images, or your own deployment automation.

Why deploy Docker on Raff Cloud?

  • Zero post-install setup — Docker Engine, Compose v2, Buildx, and BuildKit are already running on first boot.
  • Hardened by default — UFW firewall and Fail2Ban are pre-configured. SSH is rate-limited against brute force out of the box.
  • Tunable at deploy time — The Raff dashboard exposes firewall ports, swap size, timezone, Fail2Ban, and auto-updates as toggles before the VM boots, so the host matches your workload without post-deploy config drift.
  • Predictable cost — Flat monthly VM pricing on bare-metal AMD EPYC. No per-container fees, no egress charges.
  • Full root access — Customize the Docker daemon, install additional runtimes, swap the storage driver, mount a separate volume for /var/lib/docker. Your VM, your rules.

Use cases

  • Self-host any open-source app that ships a docker-compose.yml — databases, dashboards, monitoring stacks, internal tools.
  • Run a private staging environment for an application your team is building, with the same Docker primitives as production.
  • Build custom images on a fast EPYC host using Buildx and BuildKit, push to your registry of choice.

Key Features

  • Docker Engine 29.3 — Latest stable Docker daemon, pre-configured and running on boot
  • Docker Compose v2 — Multi-container app deployment via the official Compose plugin
  • Buildx and BuildKit — Multi-platform image builds with cache mounts and secrets
  • Ubuntu 24.04 LTS base — Long-term support release, security updates until 2029
  • UFW firewall — Pre-configured to allow SSH plus the ports you select at deploy time
  • Fail2Ban — SSH brute-force protection enabled by default on the host
  • Configurable swap — Pick a swap size at deploy time, or run swap-less for predictable performance
  • Auto security updates — Optional unattended upgrades for OS-level CVE patching

System Requirements

Minimum: 1 CPU, 1GB RAM, 25GB Storage

Usage LevelRAMCPURecommended For
Personal2GB1 vCPUA few small containers or a single self-hosted app
Team4GB2 vCPUMulti-service Compose stacks for internal tools and small workloads
Production8GB4 vCPUDatabases, build runners, media transcoding, or heavy multi-container workloads

Software Included

PackageVersionLicense
Docker Engine29.3.1Apache 2.0
Docker Compose plugin5.1.1Apache 2.0
Docker Buildx0.33.0Apache 2.0
BuildKit0.28.1Apache 2.0
UFW0.36.2GPL-3.0
Fail2Ban1.0.2GPL-2.0
Ubuntu24.04 LTSVarious (Ubuntu main)

Getting started after deploying Docker

Getting Started

  1. Deploy the VM — Click "Create Docker VM" in the Raff dashboard and pick a plan. In the App Configuration panel, set the firewall ports, swap, timezone, Fail2Ban, and auto-updates to match your workload.
  2. Connect via SSHssh root@<your-vm-ip>
  3. Verify the install — Run docker version and docker compose version to confirm both are ready.
  4. Run your first containerdocker run --rm hello-world to smoke-test, then deploy your real workload.
  5. Open the firewall for your app — Add your container's published port to UFW: ufw allow 8080/tcp. Or set it in the Raff dashboard at deploy time so it is open from the first boot.

API Creation

Deploy programmatically via the Raff CLI, public REST API, or Terraform.

CLI

Bash
raff vm create --template <TEMPLATE_ID> --plan s-2vcpu-4gb --region tr-ank-1 --name my-docker

REST

Bash
curl -X POST https://api.rafftechnologies.com/v1/vms \ -H "Authorization: Bearer $RAFF_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{"name":"my-docker","template_id":"<TEMPLATE_ID>","plan":"s-2vcpu-4gb","region":"tr-ank-1"}'

Terraform

Hcl
resource "raff_vm" "docker" { name = "my-docker" template_id = "<TEMPLATE_ID>" plan = "s-2vcpu-4gb" region = "tr-ank-1" }

After provisioning, follow the steps above for first-time setup.

Frequently asked questions

What is preinstalled on the Docker VM?

Ubuntu 24.04 LTS, Docker Engine 29.3, Docker Compose v2 plugin, Buildx, and BuildKit. UFW and Fail2Ban are configured and active. Nothing else — no preloaded containers, no web UI.

What plan do I need?

The 1 vCPU / 2 GB plan is fine for a few small containers or a single app. The 2 vCPU / 4 GB plan is the comfortable starting point for a multi-service Compose stack. Heavy workloads like databases, build runners, or media transcoding need 4 vCPU / 8 GB or more.

Does the VM include a web UI like Portainer?

No. This image is the bare Docker host. If you want a UI, install Portainer, Dockge, or Yacht yourself: `docker run -d -p 9443:9443 --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest`.

How do I open ports for my container?

Add the port to UFW with `ufw allow <port>/tcp` after deploy, or pre-configure the allowed ports list in the Raff dashboard before the VM boots so the firewall opens them on first start.

Does Fail2Ban protect my containers?

No. Fail2Ban watches the host's SSH service to block brute-force attempts. Containers you run are not automatically monitored. If your workload exposes a public auth endpoint, add Fail2Ban filters for it inside the host or run a dedicated WAF/reverse proxy in front.

How do I update Docker?

Docker is installed from the official Docker apt repository. Run `apt update && apt upgrade docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin` to upgrade. If auto-updates are enabled at deploy time, security patches install automatically.

Where does Docker store data?

Container images, volumes, and BuildKit cache live in `/var/lib/docker` on the root disk. For workloads with significant data, attach an additional Raff volume and bind-mount it into your containers, or relocate `/var/lib/docker` to the larger volume.

Is this production-ready?

Yes for single-host workloads. For multi-host orchestration, high availability, or rolling deploys, consider a managed Kubernetes deployment instead.

Create Docker VM