Obtaining Container Images:

Writing Dockerfiles

Write your own Dockerfiles to build Unreal Engine development container images.

This topic is not recommended for beginners.

Although writing your own Dockerfiles provides the greatest flexibility, it also involves understanding and addressing a number of technical complexities related to both the Unreal Engine itself and containers in general. Before writing your own Dockerfiles, we strongly recommended exploring the other available sources of container images and carefully studying the existing Dockerfiles.

Contents

Introduction

This page aims to provide general guidance for developers who wish to write their own Dockerfiles for building Unreal Engine development container images that include the Engine build tools. This guidance takes the form of a set of brief tips, organised into platform-based sections below. Most of these tips are derived from experience gained during the development of the ue4-docker project, and contain a number of references to the documentation and source code for that project. Nevertheless, the information presented on this page is designed to be implementation-agnostic, and applies to any Dockerfiles written for the Unreal Engine, irrespective of the infrastructure that is used to build them.

It is worth noting that the tips on this page relate only to writing Dockerfiles and not to configuring the environment or infrastructure that will be used to build the final container images. For details on environment configuration, see the Environment Setup section of the Unreal Containers community hub documentation.

Platform-agnostic considerations

Writing Dockerfiles for Linux containers

General tips

Tips for working with the NVIDIA Container Toolkit

PulseAudio support

If you want to enable audio support in your containers then the simplest option is to use PulseAudio. This will require the PulseAudio client libraries and server, which can be installed under Debian-based distributions via the pulseaudio system package. How you configure PulseAudio will depend on your desired use case, see the Linux section of the Audio output in containers page for details of the available options.

Writing Dockerfiles for Windows containers

References