ESF on Docker
ESF is also distributed as a Docker container based on RHEL Atomic 7.4 and CentOS 7.
To run the container, detached, execute:
# Replace <image> with the proper image name
# Replace <version> with the desired version number
docker run -d -p 80:80 -t <image>:<version>
Toolbox
List Docker Images
To list all the installed docker images type:
docker images
List Running Docker Containers
To list all the available instances (both running and powered off) type:
docker ps -a
Start/Stop a Docker Container
docker stop <container id>
docker start <container id>
where ID is the identification number of the instance.
The ESF container is stateful. To preserve its configurations, use the docker stop and start commands.
Manage Memory Size
The amount of memory assigned to the JVM that is running ESF can be adjusted with the following parameters that have to be passed when executing the Docker image:
docker run -d -p 80:80 -e ENV_XMS_SIZE='2048m' -e ENV_XMX_SIZE='2048m' -e ENV_XSS_SIZE='256k' -t <image>:<version>
The memory assigned to ESF can be changed only when in development mode. In production mode, to change those values, a fingerprint reload is required.
Docker Container MAC Address
In order to prevent Stealing Link between different Docker installations, the developer should specify a different MAC address assigned to the ESF containers that connect to the same Cloud instance.
This can be achieved specifying the following property in the docker run command:
docker run -d -p 80:80 --mac-address <MAC address> -t <image>:<version>
# parameter format: 12:34:56:78:9a:bc
# Be aware that Docker does not check if manually specified MAC addresses are unique.
In order to maintain a proper container functionality, the MAC address should not be changed across container restarts.
Logging
The ESF container log can be inspected using the following command:
docker logs <container id>
The user can specify a maximum size of the log size handled by the host, specifying the following parameter when invoking the ESF Docker container:
--log-opt max-size=50m
VPN Support
In order to have the VPN client running in ESF properly working, the --privileged option has to be specified during the ESF Docker image start.
Access to the container terminal
To access to the shell inside the container, run the following commad:
docker exec -it <container id> /bin/bash
Updated about 6 years ago