c832a2ed7c
Signed-off-by: joewitt <joewitt@apache.org> |
||
---|---|---|
.. | ||
sh | ||
.dockerignore | ||
DockerBuild.sh | ||
DockerImage.txt | ||
DockerRun.sh | ||
Dockerfile | ||
README.md |
README.md
Docker Image Quickstart
Capabilities
This image currently supports running in standalone mode either unsecured or with Two-Way SSL.
More capabilities will continue to be added and made available from the
Building
The Docker image can be built using the following command:
docker build -t apache/nifi:latest .
This build will result in an image tagged apache/nifi:latest
# user @ puter in ~/Development/code/apache/nifi/nifi-docker/dockerhub
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
apache/nifi latest f0f564eed149 A long, long time ago 1.62GB
Note: The default version of NiFi specified by the Dockerfile is typically that of one that is unreleased if working from source.
To build an image for a prior released version, one can override the NIFI_VERSION
build-arg with the following command:
docker build --build-arg=NIFI_VERSION={Desired NiFi Version} -t apache/nifi:latest .
There is, however, no guarantee that older versions will work as properties have changed and evolved with subsequent releases. The configuration scripts are suitable for at least 1.4.0+.
Running a container
Standalone Instance, Unsecured
The minimum to run a NiFi instance is as follows:
docker run --name nifi \
-p 18080:8080 \
-d \
apache/nifi:latest
This will provide a running instance, exposing the instance UI to the host system on at port 18080,
viewable at http://localhost:18080/nifi
.
Standalone Instance, Two-Way SSL
In this configuration, the user will need to provide certificates and the associated configuration information.
Of particular note, is the AUTH
environment variable which is set to tls
. Additionally, the user must provide an
the DN as provided by an accessing client certificate in the INITIAL_ADMIN_IDENTITY
environment variable.
This value will be used to seed the instance with an initial user with administrative privileges.
Finally, this command makes use of a volume to provide certificates on the host system to the container instance.
docker run --name nifi \
-v /User/dreynolds/certs/localhost:/opt/certs \
-p 18443:8443 \
-e AUTH=tls \
-e KEYSTORE_PATH=/opt/certs/keystore.jks \
-e KEYSTORE_TYPE=JKS \
-e KEYSTORE_PASSWORD=QKZv1hSWAFQYZ+WU1jjF5ank+l4igeOfQRp+OSbkkrs \
-e TRUSTSTORE_PATH=/opt/certs/truststore.jks \
-e TRUSTSTORE_PASSWORD=rHkWR1gDNW3R9hgbeRsT3OM3Ue0zwGtQqcFKJD2EXWE \
-e TRUSTSTORE_TYPE=JKS \
-e INITIAL_ADMIN_IDENTITY='CN=Random User, O=Apache, OU=NiFi, C=US' \
-d \
apache/nifi:latest
Configuration Information
The following ports are specified by the Docker container for NiFi operation within the container and can be published to the host.
Function | Property | Port |
---|---|---|
HTTP Port | nifi.web.http.port | 8080 |
HTTPS Port | nifi.web.https.port | 8443 |
Remote Input Socket Port | nifi.remote.input.socket.port | 10000 |