Azure GPU virtual machines vs standalone Docker containers for AMD/NVIDIA game streaming research

Andrea Gatt Barberi 0 Reputation points
2026-11-02T20:58:02.5266667+00:00

Hello,

I am conducting a university dissertation comparing virtual machines and Docker-based containerised environments for cloud game streaming.

My experimental setup requires four independent environments:

  1. AMD Radeon GPU virtual machine with VCN hardware encoding.

AMD Radeon GPU Docker container using the same GPU model and equivalent GPU resources.

NVIDIA GPU virtual machine with NVENC hardware encoding.

NVIDIA GPU Docker container using the same GPU model and equivalent GPU resources.

All four environments will use Ubuntu, Steam/Proton, Sunshine, Moonlight and Tailscale. They must support Vulkan/OpenGL graphics rendering and hardware-accelerated video encoding for approximately 1080p/60 FPS gameplay.

I specifically want to use Docker containers, not Kubernetes/AKS. I also do not want to deploy Docker inside an additional virtual machine that I must provision and manage.

I understand that Azure Container Instances previously supported GPUs but that this capability has been retired.

I am considering AMD Radeon PRO V710/V620 and NVIDIA A10/T4 GPUs, preferably in West Europe.

My questions are:

Does Azure offer any service that can run standalone GPU-accelerated Docker containers without requiring me to manage the underlying VM or Kubernetes infrastructure?

Can this service provide AMD Radeon V710 or V620 GPUs with working Vulkan/OpenGL graphics and AMD VCN hardware encoding?

Can it provide NVIDIA T4 or A10 GPUs with working Vulkan/OpenGL graphics and NVIDIA NVENC hardware encoding?

Can I use the same GPU model and equivalent GPU allocation in both the VM and Docker container experiments?

Does Azure Container Apps support these workloads, including Sunshine streaming, Tailscale networking and the required permissions and GPU video-encoding interfaces?

If Docker Engine itself is required for the comparison, rather than merely deploying a Docker-built OCI image, what Azure deployment options would be available?

My total budget is approximately €150 for short academic benchmarking sessions, so consumption-based billing would be preferable.

I would appreciate any suggestions for an affordable and technically supported configuration that meets these requirements.

Thank you!

Azure Cloud Services
Azure Cloud Services

An Azure platform as a service offer that is used to deploy web and cloud applications.

0 comments No comments

1 answer

Sort by: Oldest
  1. Rukshan edirisinghe 2,365 Reputation points
    2026-11-03T04:38:06.26+00:00

    Hi @Andrea Gatt Barberi

    Short version for your dissertation design: Azure has one managed option for GPU containers without VMs or Kubernetes, and it only covers half of your matrix.

    Azure Container Apps serverless GPUs run standalone containers on a GPU, with no VM or cluster for you to manage, per-second billing and scale to zero. The limits that matter for you:

    • NVIDIA only: T4 and A100. There's no AMD GPU option, so the AMD Radeon container environment can't be built this way.
    • West Europe has T4 only, and you need a new workload-profiles environment there to add it. A100 is in regions such as Sweden Central and Italy North.
    • Compute-focused: Microsoft's docs mention CUDA, and list rendering and video transcoding as example scenarios. They don't document Vulkan/OpenGL display rendering or NVENC access inside the container. A game-streaming stack (Steam/Proton plus Sunshine) needs both, so test that early before you build the experiment around it.
    • One container per replica gets the GPU, and fractional GPUs aren't supported.
    • Container Apps doesn't run privileged containers, so Tailscale would need its userspace networking mode rather than a TUN device.
    • If you need Docker Engine itself in the comparison (not just an OCI image), that means a GPU VM running Docker.

    For the AMD side (Radeon PRO V710/V620), Azure only offers GPU VMs, so the "AMD Docker container" leg would have to run on a VM you manage. If your method allows it, one fair option is to run both the VM and the container variants on the same GPU VM size, so the only variable is the runtime layer. With a €150 budget, run the VMs only during benchmark sessions and deallocate them straight after, since a stopped-but-allocated VM keeps billing.

    To start:

    1. Create a Container Apps workload profiles environment in West Europe (or Sweden Central for A100).
    2. Check the environment's Quota page for Managed Environment Consumption T4 GPUs, and request quota there if it's zero.
    3. Deploy a small test container and check whether nvidia-smi and an NVENC encode test both work before you add Sunshine.

    Would running the container variants on a GPU VM size still fit your methodology, or does "no managed VM" need to apply to every environment?

    If this helps you settle the setup, please consider accepting it as the answer. If the NVENC test fails on Container Apps, let me know and I'll be happy to keep helping.

    Reference:

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.