I am a little fuzzy about what you are trying to to. The you expose the
correct ports (Dockerfile) and map them to the host (docker command
option)? 6127, 8000, 8080? Are you trying to run storm jar and storm
list inside the container, or outside the container. Are you trying to do
this on one container? Or multiple?
If you are doing everything inside the container, the mini-vm style, then
you really do not need to configure storm.yaml, it'll default to localhost
for local mode. You'll want to get into storm.yaml when you want to setup
a cluster, and when you want to submit a topology to a cluster.
For cluster services, you'll want to use multiple containers (at least for
supervisors). There may be a challenge for as multiple supervisors using
the same ports. Docker-Compose and Ansible could be easier tools to use
for orchestrating multiple containers, rather than docker commands.
In a cluster, you can use the storm ui and logviewer to drill down into the
bolts and such. In this case, you would definitely need to control how
these containers are labeled, by controlling the /etc/hosts.
Docker-Compose can do some of this automatically. Then to the outside,
like a web browser, you'll need to map the hostname, e.g. nimbus.dev,
supervisor1.dev, etc., so that they are the same internally and
externally. You can do this with dnscache or something on the host (or
regular DNS server for staging), and hosts files for the storm containers
internally, plus one container that acts as a reverse-proxy, virtual host
for nimbus.dev, supervisor1.dev, etc., which then routes to appropriate
container on 8000 and 8080.
On Tue, Oct 11, 2016 at 9:08 PM, Sudha Subramanian <sudha...@gmail.com>
> I'm running Storm 1.0.2 components in docker container all on the same VM.
> I'm running into an issue where based on the configuration of storm.yaml
> and container host name, I can either get the storm command line to work,
> or the Storm UI to connect But, not both.
> Following configuration allows me to use storm command line and perform
> commands like list and jar.
> - 172.x.x.x
> nimbus.seeds: ["*104.10.x.x*"]
> Where, 172.x.x.x -> is the docker IP address where zookeeper runs
> and 104.10.x.x -> is the external IP address of the VM.
> I run docker with -h option as follows: *docker -h 104.10.x.x *....storm
> With the above setting, I'm able to perform operations remotely using
> storm ( eg storm list). However, I'm unable to connect to storm UI using
> browser. The browser spins forever trying to get cluster information.
> Following configuration allows me to connect using the UI but not storm
> - 172.x.x.x.
> nimbus.seeds: ["1*220.127.116.11*"]
> Nimbus seeds point to 127.0.0.1.
> And, I *don't run docker with the -h option*.
> I tried specifying storm.local.hostname etc. But, I'm not able to get
> Storm 1.0 work in container.
> I lost almost 4 days trying different configuration. Can someone help me?,