Useful commands for FME Flow for Docker

Liz Sanderson
Liz Sanderson
  • Updated

FME Version

Introduction

This article covers some useful commands for FME Flow for Docker.

These commands will predominantly be for Docker Compose, which is a tool for defining and running multi-container Docker applications (FME Flow). For more information or a full reference to the Docker Compose CLI, please refer to the official documentation

The FME Flow Administrator's Guide also has documentation Deploying FME Flow with Docker Compose.

All these commands should be run in the same directory as the docker-compose.yml file or reference the docker compose file you want to use. If your docker-compose.yml has a different name, or is in another location, use the -f flag to reference the correct file:

docker-compose -f /Users/YourName/Docker/docker-compose-2021.yaml up -d 

Managing FME Flow

 Docker Compose and Starting FME Flow

To start FME Flow or to apply any changes made to the Docker Compose file, such as editing the environment variables, you will need to use the up command. We start FME Flow in detached mode with the -d flag. This runs containers in the background, and will print the new container names.

docker-compose up -d

 

Services

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.

  • fmeflowcore - The core FME Flow container
  • fmeflowwebsocket - The server for WebSocket connections
  • fmeflowweb - The web front end container
  • fmeflowdb - The backend database for FME Flow
  • fmeflowengine - The FME engines that accept jobs
  • fmeflowqueue - The FME Flow queue managing the jobs
  • nginx - Reverse proxy for FME Flow; receives all web traffic and forwards it to the right container

You can stop, start or restart a service. The stop command stops running containers without removing them.

docker-compose start <service>
docker-compose stop <service>
docker-compose restart <service>

To kill a service, use the kill command.

docker-compose kill <service>

To remove a stopped container. The next time you start them new instances of the containers will be created:

docker-compose rm <service>

Engines

By default, this deployment will start with one engine, but with Docker Compose it is easy to scale. The “2” in the below command can go as high as you like as long as your license supports a number of engines you scale too.

docker-compose up --scale fmeserverengine=4

For more information, please refer to this article: FME Flow and Docker - Managing Engines and Queues

 Upgrade to a newer version of FME Flow

Create a backup of FME Flow. Download the backup file to a location outside of the FME Flow System Share, otherwise you will lose the backup file.

Stop and remove containers. The -v flag will also remove named volumes, which removes the FME Flow System Share.

docker-compose down -v

Download the Docker Compose file for your desired version of FME Flow. Docker Compose files are available by version here

Start FME Flow. We start FME Flowin detached mode with the -d flag. This runs containers in the background, and will print the new container names.
 

docker-compose up -d

Restore the backup of FME Flow.

 

Removing FME Flow

To stop and remove all containers, use the down command:

docker-compose down

To remove all named volumes (FME Flow System Share) at the same time, use the -v flag:

docker-compose down -v

 

Troubleshooting

Here are a few of the most common commands that can be helpful when troubleshooting an FME Flow on Docker deployment gone wrong.

View containers:

To show all running containers:

docker ps

To show all containers (including stopped), include the -a flag.

docker ps -a

​​​​View container logs:

docker logs <container>

Run a command inside a container:

docker exec -it <container> /bin/bash

This command opens an interactive (-i) psuedoterminal (-t) to issue commands within a container.

Show disk usage:

docker system df

Remove unused data:

docker system prune

This command will remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.

Display running processes in a container:

docker top <container>

To do this for the full FME Flow deployment, use Docker Compose:

docker-compose top

Manage Docker images:

docker image

 

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.