2016-05-18 11 views
0

私はDockerfileスクリプトを作成しています。プログラムを実行するコマンドラインを持っており、キーボードからのユーザ入力が選択されました。Dockerfile、Ubuntuにキーストロークを送信

Xdotool,man yesまたはexpectは、この状況では役に立ちません。

アップデートソース・コード:

まず第一に、インストールスクリプトを実行しRevoMathフォルダに移動し、RevoMathライブラリをダウンロードし、解凍します。

 

... 
RUN wget -q https://mran.microsoft.com/install/mro/3.2.4/RevoMath-3.2.4.tar.gz 
RUN tar -xzf RevoMath-3.2.4.tar.gz 
RUN cd RevoMath/ 
RUN ./RevoMath.sh 
... 
 

スクリプトをインストールし、次のようにいくつかの選択オプションがあります。


echo "1. Install MKL" 
echo "2. Uninstall MKL" 
echo "3. Exit utility" 

私たちは、インストールするために、キーボードからを入力する必要があります。どうやってDockerのコマンドでそれを行うことができますか?

助けていただけたら幸いです!

+0

実行したいプログラムを共有することは可能ですか?解決策)? –

+0

@ChristopheSchmitz:こんにちは、私は自分の投稿を更新しました。ありがとう –

+0

1を入力する前にイメージをビルドし、それを実行して1を入力し、 'docker commit -t myimage'を入力し、' FROM myimage'で始まる新しいDockerfileを作成してください。 – user2915097

答えて

0

私が正しくあなたを理解していれば、あなたはあなたのDockerfile./RevoMath.shecho 1 |を追加したいと思います:ところで

... 
RUN cd RevoMath/ && echo 1 | ./RevoMath.sh 
... 

RUN cd RevoMath/ 
RUN ./RevoMath.sh 
を:あなたは期待どおりの例では、この行は動作しません。

それぞれRUNは独立した実行であるためです。 特定のフォルダからRevoMath.shスクリプトを実行する場合は、&&を使用する必要があります(私の例を最初に見てください)

関連する問題