Integration Server 10.3 | Integration Server Administrator's Guide | Using Integration Server with Docker | Overview of Docker and Integration Server | Recommendations for Using Integration Server with Docker
 
Recommendations for Using Integration Server with Docker
If you opt to run Integration Server in a Docker container, Software AG recommends the following:
*Create a Docker image for an installed, fully configured on-premise Integration Server. Make sure the server configuration is as complete as possible before creating the image. While some configurations can be changed or added after the Docker image is created, it is best configure as much as possible in the base image.
*Microservices Runtime and Integration Server provide features that you can use to add or change some of the configuration or content of a server running in a Docker container without needing to recreate the Docker image, specifically:
*Configuration variables templates can be used to change some server configuration for an Integration Server or Microservices Runtime that runs in a Docker container. Configuration variables templates can also be used to add assets to an Integration Server or Microservices Runtime in a Docker container and set asset properties that were previously not set.
Software AG recommends adding configuration in the base Docker image. Use configuration variables to change endpoint or configuration values across the environment.
For more information about configuration variables, see Developing Microservices with webMethods Microservices Runtime Using Configuration Variables Templates with Microservices Runtime .
*The EXTERNALIZE_PACKAGES ENV variable can be used to make more packages available for use with an Integration Server that runs in a Docker container. You can specify the EXTERNALIZE_PACKAGES ENV variable when you start the Docker container. For more information about this environment variable, see Environment Variables for Use with Docker.
*Automatic package deployment enables the installation or update of custom packages on a server running in a Docker container without needing to rebuild the Docker image. For more information about configuration variables, see Developing Microservices with webMethods Microservices Runtime Using Configuration Variables Templates with Microservices Runtime .
If you do not use the features described above, consider a Docker image of Integration Server to be immutable. That is, do not make configuration or content changes on an Integration Server running in Docker container. Instead, make any changes on the on-premise Integration Server, recreate the Docker image, load or push the Docker image to the Docker repository, and then start a Docker container for the image.
Note:
The configuration variables template and automatic package deployment feature are available with Microservices Runtime or an Integration Server with additional licensing.
*If you intend to run a Docker image created for Integration Server in Integration Cloud, Software AG strongly recommends that you enable and configure CSRF guard in the Integration Server instance for which you are creating a Docker image. Enabling the CSRF guard feature prevents Cross-Site Forgery Request (CSRF) attacks through the Integration Server Administrator URLs. Enable and configure CSRF guard on the Integration Server instance before creating a Docker image for the instance. For information about enabling and configuring CSRF guard, see Securing Integration Server with CSRF Guard.