On both Windows 7 with native docker support and Windows 7 with Virtualbox, I see the same failure mode.
Here's the build process, followed by the execution.
PS C:\Users\Peter\Documents\nificluster\docker-compose-nifi-cluster> docker-compose up -d --build
Creating network "dockercomposenificluster_default" with the default driver
Building nifi-seed
Step 1/6 : FROM mkobit/nifi:1.0.0-openjdk-8
---> b063fd99865f
Step 2/6 : ADD ./nifi.properties conf
---> 58e893b788aa
Removing intermediate container 5ea3a2209f54
Step 3/6 : ADD ./start-nifi.sh .
---> 3fb66a3f1656
Removing intermediate container ec2434ad4b12
Step 4/6 : CMD chmod go+x ./start-nifi.sh
---> Running in 5867237edffc
---> 77b331db8a0a
Removing intermediate container 5867237edffc
Step 5/6 : CMD ./start-nifi.sh
---> Running in 0932cdb5b5a1
---> 958841294db1
Removing intermediate container 0932cdb5b5a1
Step 6/6 : CMD /bin/sh
---> Running in 6306f86625f3
---> 03c69c13f32d
Removing intermediate container 6306f86625f3
Successfully built 03c69c13f32d
Creating dockercomposenificluster_zoo1_1
Creating nifi-cluster-seed
Creating dockercomposenificluster_nifi-nodes_1
PS C:\Users\Peter\Documents\nificluster\docker-compose-nifi-cluster> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
76465d4b1e68 nifi-node:1.0.0 "/bin/sh" 6 minutes ago Exited (0) 6 minutes ago dockercomposenificluster_nifi-nodes_1
423f75f44ea2 nifi-node:1.0.0 "/bin/sh" 6 minutes ago Exited (0) 6 minutes ago nifi-cluster-seed
6a1f641b70ea zookeeper "/docker-entrypoin..." 6 minutes ago Up 6 minutes 2888/tcp, 3888/tcp, 0.0.0.0:32772->2181/tcp dockercomposenificluster_zoo1_1
e8904e6373b6 nginx "nginx -g 'daemon ..." 7 days ago Exited (0) 6 days ago mynginx
43285a41b093 xemuliam/nifi "/bin/sh -c ./star..." 8 days ago Exited (137) 7 days ago amazing_fermat
Here's the log output:
PS C:\Users\Peter\Documents\nificluster\docker-compose-nifi-cluster> docker-compose logs -f
Attaching to dockercomposenificluster_nifi-nodes_1, nifi-cluster-seed, dockercomposenificluster_zoo1_1
zoo1_1 | ZooKeeper JMX enabled by default
zoo1_1 | Using config: /conf/zoo.cfg
zoo1_1 | 2017-01-29 20:38:23,652 [myid:] - INFO [main:QuorumPeerConfig@124] - Reading configuration from: /conf/zoo.cfg
zoo1_1 | 2017-01-29 20:38:23,694 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: zoo1 to address: zoo1/172.18.0.2
zoo1_1 | 2017-01-29 20:38:23,695 [myid:] - ERROR [main:QuorumPeerConfig@301] - Invalid configuration, only one server specified (ignoring)
zoo1_1 | 2017-01-29 20:38:23,705 [myid:] - INFO [main:DatadirCleanupManager@78] - autopurge.snapRetainCount set to 3
zoo1_1 | 2017-01-29 20:38:23,707 [myid:] - INFO [main:DatadirCleanupManager@79] - autopurge.purgeInterval set to 0
zoo1_1 | 2017-01-29 20:38:23,712 [myid:] - INFO [main:DatadirCleanupManager@101] - Purge task is not scheduled.
zoo1_1 | 2017-01-29 20:38:23,713 [myid:] - WARN [main:QuorumPeerMain@113] - Either no config or no quorum defined in config, running in standalone mode
zoo1_1 | 2017-01-29 20:38:23,741 [myid:] - INFO [main:QuorumPeerConfig@124] - Reading configuration from: /conf/zoo.cfg
zoo1_1 | 2017-01-29 20:38:23,745 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: zoo1 to address: zoo1/172.18.0.2
zoo1_1 | 2017-01-29 20:38:23,746 [myid:] - ERROR [main:QuorumPeerConfig@301] - Invalid configuration, only one server specified (ignoring)
zoo1_1 | 2017-01-29 20:38:23,748 [myid:] - INFO [main:ZooKeeperServerMain@96] - Starting server
zoo1_1 | 2017-01-29 20:38:23,757 [myid:] - INFO [main:Environment@100] - Server environment:zookeeper.version=3.4.9-1757313, built on 08/23/2016 06:50 GMT
zoo1_1 | 2017-01-29 20:38:23,758 [myid:] - INFO [main:Environment@100] - Server environment:host.name=6a1f641b70ea
zoo1_1 | 2017-01-29 20:38:23,758 [myid:] - INFO [main:Environment@100] - Server environment:java.version=1.8.0_111-internal
zoo1_1 | 2017-01-29 20:38:23,758 [myid:] - INFO [main:Environment@100] - Server environment:java.vendor=Oracle Corporation
zoo1_1 | 2017-01-29 20:38:23,758 [myid:] - INFO [main:Environment@100] - Server environment:java.home=/usr/lib/jvm/java-1.8-openjdk/jre
zoo1_1 | 2017-01-29 20:38:23,760 [myid:] - INFO [main:Environment@100] - Server environment:java.class.path=/zookeeper-3.4.9/bin/../build/classes:/zookeeper-3.4.9/bin/../build/lib/.jar:/zookeeper-3.4.9/bin/../lib/slf4
j-log4j12-1.6.1.jar:/zookeeper-3.4.9/bin/../lib/slf4j-api-1.6.1.jar:/zookeeper-3.4.9/bin/../lib/netty-3.10.5.Final.jar:/zookeeper-3.4.9/bin/../lib/log4j-1.2.16.jar:/zookeeper-3.4.9/bin/../lib/jline-0.9.94.jar:/zookeeper-3.4.9/
bin/../zookeeper-3.4.9.jar:/zookeeper-3.4.9/bin/../src/java/lib/.jar:/conf:
zoo1_1 | 2017-01-29 20:38:23,760 [myid:] - INFO [main:Environment@100] - Server environment:java.library.path=/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64:/usr/lib/jvm/
java-1.8-openjdk/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
zoo1_1 | 2017-01-29 20:38:23,760 [myid:] - INFO [main:Environment@100] - Server environment:java.io.tmpdir=/tmp
zoo1_1 | 2017-01-29 20:38:23,760 [myid:] - INFO [main:Environment@100] - Server environment:java.compiler=
zoo1_1 | 2017-01-29 20:38:23,760 [myid:] - INFO [main:Environment@100] - Server environment:os.name=Linux
zoo1_1 | 2017-01-29 20:38:23,760 [myid:] - INFO [main:Environment@100] - Server environment:os.arch=amd64
zoo1_1 | 2017-01-29 20:38:23,760 [myid:] - INFO [main:Environment@100] - Server environment:os.version=4.9.4-moby
zoo1_1 | 2017-01-29 20:38:23,761 [myid:] - INFO [main:Environment@100] - Server environment:user.name=zookeeper
zoo1_1 | 2017-01-29 20:38:23,761 [myid:] - INFO [main:Environment@100] - Server environment:user.home=/home/zookeeper
zoo1_1 | 2017-01-29 20:38:23,761 [myid:] - INFO [main:Environment@100] - Server environment:user.dir=/zookeeper-3.4.9
zoo1_1 | 2017-01-29 20:38:23,773 [myid:] - INFO [main:ZooKeeperServer@815] - tickTime set to 2000
zoo1_1 | 2017-01-29 20:38:23,773 [myid:] - INFO [main:ZooKeeperServer@824] - minSessionTimeout set to -1
zoo1_1 | 2017-01-29 20:38:23,773 [myid:] - INFO [main:ZooKeeperServer@833] - maxSessionTimeout set to -1
zoo1_1 | 2017-01-29 20:38:23,792 [myid:] - INFO [main:NIOServerCnxnFactory@89] - binding to port 0.0.0.0/0.0.0.0:2181
dockercomposenificluster_nifi-nodes_1 exited with code 0
nifi-cluster-seed exited with code 0
Observation
If I rebuild the nifi-node with a CMD of /bin/sh I can see that start-nifi.sh does not have UID or GID set to nifi, and is thus not executable by the nifi UID. How do we fix this?