Getting Started with FME Flow and Docker

Liz Sanderson
Liz Sanderson
  • Updated

Introduction

Docker is an open-source platform for developing, shipping, and running applications as portable, self-sufficient containers. Safe Software creates images for the FME Flow services (FME Flow core, engine, etc) so that you can quickly start FME Flow containers.

As FME Flow has multiple services, which means multiple containers, we leverage Docker Compose.

Docker Compose is a tool for defining and running multi-container Docker applications, like FME Flow. With one simple command, you can start and stop all of FME Flow’s services.

A Docker Compose (YAML) file defines all the services we have made available here (download the YAML file). The Docker Compose file defines the FME Flow services by specifying the names of the respective containers and their versions.

Why use Docker to deploy FME Flow?

FME Flow on Docker is a solution for someone who’s looking to quickly start up a containerized version of FME Flow. This is not a distributed deployment.

If you’re interested in a distributed, containerized deployment or a more agile, scalable, and modern solution, we recommend Kubernetes.

Terminology

When working with Docker, you should be familiar with some common terms. All definitions are taken from the Docker documentation.

Docker Terminology Definition Docker Documentation Reference
Container A container is a runtime instance of a docker image. Container
Docker Compose Docker Compose is a tool for defining and running complex applications with Docker. A multi-container application is defined in a single (YAML) file. Overview of Docker Compose
Dockerfile

A Dockerfile is a text document that contains all the commands you would normally execute manually in order to build a Docker image. Docker can build images automatically by reading the instructions from a Dockerfile.

Safe Software does not make our Dockerfiles public. Some customers may build their own Dockerfiles based on our engine images.

Dockerfile
Image Docker images are the basis of containers. An Image is an ordered collection of root filesystem changes and the corresponding execution parameters for use within a container runtime. An image typically contains a union of layered filesystems stacked on top of each other. An image does not have a state, and it never changes. Image
Registry A Registry is a hosted service containing repositories or images that respond to the Registry API. The default registry can be accessed using a Docker Hub browser or using the docker search command. Registry
Safe Software's images
Repository A Repository is a set of Docker images. A repository can be shared by pushing it to a registry server. The different images in a repository can be labeled using tags. Repository
Service A service is the definition of how you want to run your application containers. 
The different FME Flow components are separated into named services. It is useful to know what the names of the services are for the different Docker Compose commands.
Service
Tag A tag is a label applied to a Docker image in a repository. Tags are how various images in a repository are distinguished from each other.
Not every FME Flow build will be made public, but the ones that are will be tagged with their build number.
Tag
Volume A volume is a specially designated directory within one or more containers that bypasses the Union File System. Volumes are designed to persist data independent of the container's life cycle.
The FME Flow System Share is a volume.
Volume

Useful Resources

Documentation

Articles

Blogs

Troubleshooting and Common Issues

Was this article helpful?

We're sorry to hear that.

Please tell us why.

As of January 14th, 2026, comments on knowledge base articles have been closed. To make sure questions don’t get missed and to enable more community support, we’ve moved discussions to the FME Community. If you have a question or a comment about this article, please create a new post or create a support ticket.