我创建了一个以独立模式安装HBase的docker容器。我使用-net = host模式来运行docker容器。我可以看到master和regionserver的UI,但是当我在与zookeeper建立连接后尝试从我的java程序连接到HBase时,它说这个服务器位于失败的服务器列表中:boot2docker:60020。我正在使用mac OSX和boot2docker。请给出建议。这是我的dockerfile。
FROM centos:6
# Install required libraries.
RUN yum install -y tar
# Install java.
RUN curl -LO \
'http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.rpm'\
-H 'Cookie: oraclelicense=accept-securebackup-cookie'
RUN rpm -i jdk-7u71-linux-x64.rpm
RUN rm -f jdk-7u71-linux-x64.rpm
# Export JAVA_HOME.
ENV JAVA_HOME /usr
# Copy hbase code to docker container.
COPY hbase-*.tar.gz /
RUN tar -xzvf hbase-*.tar.gz
RUN rm hbase-*.tar.gz
RUN mv hbase-* hbase
# Copy hbase-site.xml.
ADD hbase-config-files/hbase-site.xml /hbase/conf/hbase-site.xml
# Start Hbase.
CMD ["./hbase/bin/hbase", "master", "start"]`
要运行此容器,我使用了docker run --net = host -t docker_image