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>
To list all the available instances (both running and powered off) type:
docker ps -a
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.
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.
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.
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:
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.
To access to the shell inside the container, run the following commad:
docker exec -it <container id> /bin/bash