Ignite running in Docker (is: General Java-Docker issue) -
i trying run ignite in docker container (mac os x, docker 1.9.1) committed in git:
# start java image. java:7 # ignite version env ignite_version 1.5.0-b1 workdir /opt/ignite add http://www.us.apache.org/dist/ignite/1.5.0-b1/apache-ignite-fabric-1.5.0-b1-bin.zip /opt/ignite/ignite.zip # ignite home env ignite_home /opt/ignite/apache-ignite-fabric-1.5.0-b1-bin run unzip ignite.zip run rm ignite.zip # copy sh files , set permission add ./run.sh $ignite_home/ run chmod +x $ignite_home/run.sh cmd $ignite_home/run.sh
after building locally apache/ignite
, running image following command, container 'hangs'
docker run --expose=4700-4800 -it -p 47500-47600:47500-47600 -p 47100-47200:47100-47200 --net=host -e "config_uri=https://raw.githubusercontent.com/apache/ignite/master/examples/config/example-default.xml" apacheignite/ignite-docker
when connecting container (docker exec -ti apache/ignite /bin/bash
) , running command in verbose mode via bash, hangs on org.apache.ignite.startup.cmdline.commandlinerandomnumbergenerator
:
bash -x /opt/ignite/apache-ignite-fabric-1.5.0-b1-bin/bin/ignite.sh https://raw.githubusercontent.com/apache/ignite/master/examples/config/example-default.xml
output hangs:
+ cp='/opt/ignite/apache-ignite-fabric-1.5.0-b1-bin/libs/*:/opt/ignite/apache-ignite-fabric-1.5.0-b1-bin/libs/ignite-indexing/*:/opt/ignite/apache-ignite-fabric-1.5.0-b1-bin/libs/ignite-spring/*:/opt/ignite/apache-ignite-fabric-1.5.0-b1-bin/libs/licenses/*' ++ /usr/bin/java -cp '/opt/ignite/apache-ignite-fabric-1.5.0-b1-bin/libs/*:/opt/ignite/apache-ignite-fabric-1.5.0-b1-bin/libs/ignite-indexing/*:/opt/ignite/apache-ignite-fabric-1.5.0-b1-bin/libs/ignite-spring/*:/opt/ignite/apache-ignite-fabric-1.5.0-b1-bin/libs/licenses/*' org.apache.ignite.startup.cmdline.commandlinerandomnumbergenerator
looking @ code of commandlinerandomnumbergenerator
, don't see special, 1 line generate uuid. there other things automatically started somehow causes locking threat application cannot exit?
this seems docker issue java in general, see also: https://github.com/docker/docker/issues/18180
several solutions possible:
create docker machine follows , run in here (cfr. https://github.com/docker/docker/issues/18180#issuecomment-162568282):
docker-machine create -d virtualbox --engine-storage-driver overlay overlaymachine
add system.exit(0) explicit @ end of each main method (cfr. https://github.com/docker/docker/issues/18180#issuecomment-161129296)
wait next docker patched version (https://github.com/docker/docker/issues/18180#issuecomment-170656525)
i think practice (for now) add system.exit main methods in ignite since independent of alternative hacks on docker or linux in general (linux kernel need aufs upgrade , many machine may lag behind before that). way future ignite version can safely installed on older kernels also.
Comments
Post a Comment