I need to install zeppelin in docker without using the build-in image, because of its huge size (in gb). I want to install zeppelin from the binary file, for example zeppelin-0.8.2-bin-netinst.tgz (Only spark interpreter ~ 318 mb)
My Dockerfile
FROM openjdk:8
RUN wget -O /tmp/zeppelin-0.8.2-bin-netinst.tgz https://mirror.downloadvn.com/apache/zeppelin/zeppelin-0.8.2/zeppelin-0.8.2-bin-netinst.tgz
RUN tar -xvzf /tmp/zeppelin-0.8.2-bin-netinst.tgz -C /opt && rm /tmp/zeppelin-0.8.2-bin-netinst.tgz
EXPOSE 8080
I build the docker images & run container
docker build -t test:1.0 .
docker run -p 8080:8080 -it test:1.0 /bin/bash
And start zeppelin manually
/opt/zeppelin-0.8.2-bin-netinst/bin/zeppelin-daemon.sh start
I received the result
Zeppelin start [ OK ]
But when I access zeppelin from the browser at http://localhost:8080/, I received:
This page isn’t working
localhost didn’t send any data.
ERR_EMPTY_RESPONSE
I tried run the command bin/zeppelin.sh but nothing appeared. Where did I go wrong?
I checked my container with docker ps command and the result sas:
5d37f4a18a53 test:1.0 "/bin/bash" 27 minutes ago Up 27 minutes 0.0.0.0:8080->8080/tcp brave_bardeen
If I telnet from the docker host: telnet localhost 8080 and it works. Why Can't I access zeppelin from the browser?
Thanks & Regards
I found some useful post: Zeppelin fails to load on docker: logErrors docker zeppelin
We need to set ZEPPELIN_ADDR=0.0.0.0, now i can access zeppelin from browser localhost
docker run -p 8080:8080 -e ZEPPELIN_ADDR=0.0.0.0 -it test:1.0 /bin/bash