2016-04-02 7 views
2

HadoopFlumeをドッキングしました。私はすべてのデフォルト値を持つ標準Hadoopイメージを持っています。私は、これらのサービスが、別々のコンテナに置かれたお互いにどのように通信できるのか分かりません。ドッカーインターコンテナ通信

FlumeさんDockerfile次のようになります。

FROM ubuntu:14.04.4 

RUN apt-get update && apt-get install -q -y --no-install-recommends wget 

RUN mkdir /opt/java 
RUN wget --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" -qO- \ 
    https://download.oracle.com/otn-pub/java/jdk/8u20-b26/jre-8u20-linux-x64.tar.gz \ 
    | tar zxvf - -C /opt/java --strip 1 

RUN mkdir /opt/flume 
RUN wget -qO- http://archive.apache.org/dist/flume/1.6.0/apache-flume-1.6.0-bin.tar.gz \ 
    | tar zxvf - -C /opt/flume --strip 1 

ADD flume.conf /var/tmp/flume.conf 
ADD start-flume.sh /opt/flume/bin/start-flume 

ENV JAVA_HOME /opt/java 
ENV PATH /opt/flume/bin:/opt/java/bin:$PATH 

CMD [ "start-flume" ] 

EXPOSE 10000 

答えて

1

あなたのコンテナをリンクする必要があります。これを実装する方法はいくつかあります。

1)ポートを公開:

docker run -p 50070:50070 hadoop

オプションpは、ホスト・マシンのポート50070を使用してドッキングウィンドウコンテナのポート50070をバインドし

2)リンク・コンテナ(ドッカ-コンを使用して)

ドッカー - コンパス.yml

version: '2' 
services: 
hadoop: 
    image: hadoop:2.6 
flume: 
image: flume:last 
links: 
- hadoop 
ここ

リンクオプションは、あなたの水路コンテナはこのhttps://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/

+0

なぜ50070程度

詳細は、ポート番号でのHadoopと特異的に結合しますか? – plaidshirt

+0

これはちょうどランダムなポートですが、代わりにこれを必要とするポートを使用できます – Cortwave

+0

Hadoopポートでなければなりませんか?どちら? – plaidshirt