2016-10-13 15 views
1

私はドッカーには新しく、私は(私は思った)非常に単純なことをしようとしています。タイトルについては、Dockerファイルからインパラスクリプトを実行したいと考えています。Dockerファイルからimpala sqlスクリプトを実行

私はインパラ・シェル接続に関して、このエラーが発生しておく画像の構築
FROM cloudera/quickstart:latest 
COPY /home/dodo/script/ /home/cloudera/script 
WORKDIR /home/cloudera/script 
RUN service impala-state-store start \ 
    && service impala-catalog start \ 
    && service impala-server start \ 
    && impala-shell -f script.sql --quiet -i localhost 

:TTransportExceptionは、ローカルホストに接続できませんでした::21000

私がしようとした接続

エラーをここに私のDockerfileは次のようになりますコンテナ内で同じコマンドを使って同じスクリプトを実行すると、動作します。

私はこの問題をどのように解決できますか、どのホストがインパラシェルに移行しているのでしょうか?

+0

ポート21000がリッスンするまで少し待つべきでしょうか? – user2915097

+0

ところで、 'RUN'を' ENTRYPOINT'で置き換えてください。 – user2915097

+0

@ user2915097ポートを待ってみましたが、動作しません。 – dodo

答えて

0

私が、私は構築

#!/bin/bash service impala-state-store start \ && service impala-catalog start \ && service impala-server start \ && impala-shell -f script.sql --quiet -i localhost

を含むファイルservice.shと、次のDockerfile

FROM cloudera/quickstart:latest RUN mkdir /script COPY service.sh /script ENTRYPOINT ["/script/service.sh"]

を作成しますが、いくつかのことに

を追加する必要がありそうですそれ

docker build -t impala .

と私はそれはので、それはまだ、このような.sqlファイルを提供するものとして、いくつかの作業を必要とする

Started Impala State Store Server (statestored):[ OK ] Started Impala Catalog Server (catalogd) :[ OK ] Started Impala Server (impalad):[ OK ] Starting Impala Shell without Kerberos authentication Error: [Errno 2] No such file or directory: 'script.sql'

を示し

docker run impala

それを実行します。 ENTRYPOINTがコンテナを起動するコマンドを起動する必要があることがわかります

+0

私の完全なものは書かなかったDockerfile、私は今質問を編集しましたが、私の問題はファイルを実行することではありません。私はコンテナにスクリプトを正しくコピーします。スクリプトを含むディレクトリにWORKDIRを設定してから、コマンドを実行します。問題はインパラとの関係にあります。多分サービスがありません。 – dodo

関連する問題