Quickstart
Docker quickstart
Flex Docker images are hosted at Docker Hub.
To connect the latest Flex Docker image to a Flink cluster:
- Get a Free trial license.
- Create a
config.env
file containing your connection, license, and feature variables.
## The Flink REST API to connect to:
FLINK_REST_URL=127.0.0.1:9002
## Your license details (Required).
## These parameters can be cut/paste from your license email
LICENSE_ID=1c99v4-f690-4a4f-b144-73de2369444a
LICENSE_CODE=TRIAL_30D
LICENSEE=My Corp
LICENSE_EXPIRY=2020-09-05
LICENSE_SIGNATURE=15CFFF969111DB6DCA142B6F1E0065F94A614251B80128D52C2CD45993A021AE10E90F57B90FF76CC1B992C16E54BCF1CBE7E5EE3124B3E585BE133774836A6EBB51B55E67EF60F4A435EBEC9F07A26CEABDCF6E3CF4137A33201E7662AF1F7986E57341E0EAEB884BBF320C348D62679F521259DAD1E03F6F79DB53D83CD41B
## Optional from here:
## Name your Flex installation (this appears in the UI)
ENVIRONMENT_NAME=Trade Book (Staging)
## Flex Feature Flags (See: RBAC for per user controls):
## Allow users to submit+upload jobs
ALLOW_FLINK_SUBMIT=true
## Allow users to terminate Flink jobs
ALLOW_FLINK_JOB_TERMINATE=true
## Allow users to delete Flink JARs
ALLOW_FLINK_JAR_DELETE=true
## Allow users to edit Flink jobs (configuration, snapshotting etc)
ALLOW_FLINK_JOB_EDIT=true
## ... etc (see guide for more configuration flags).
- Start the latest Flex container with your
config.env
file.
docker run -p 3000:3000 --env-file ./config.env -m 2G factorhouse/flex-ee:latest
- Flex is now running on
http://localhost:3000
Accessing files on the host machine
Sometimes when configuring Flex you require access to files on the host machine from within the Docker container, e.g.
- RBAC YAML configuration
- Keystore or Truststore files
- Metadata.xml for SSO integration
One easy way to provide access to local files is with a volume mount, like so:
docker run --volume="$PWD/config:/config" -p 3000:3000 --env-file ./docker/local-with-auth-schema.env -m 4G factorhouse/flex-ee:latest
In the example above we mount the directory local to where the docker command runs ./config
as a directory within the container /config
.
We can then reference a file in our environment variable configuration like so:
SSL_TRUSTSTORE_LOCATION=/config/ssl/truststore.jks