2016-04-25 9 views
0

Entrypointのドッカーイメージで、シェルスクリプト(20-30行ではなくoneliner)とjarアプリケーションを実行するにはどうすればよいですか? EntryPointを1つしか指定できないように見えますか?ドッカー画像でシェルスクリプトとjarアプリケーションを実行するにはどうすればよいですか?

+3

は1つのだけエントリポイントを指定することができますが、そのエントリポイントは、あなたが制限のあまりないがやりたいことができます。これまでに試したことをお見せできますか?そこに多くの例のDocker画像があります。 – larsks

+0

あなたのエントリーポイント 'sh myscript.sh;で行うことができます。 jar'を起動します – user2915097

+0

@ user2915097 ENTRYPOINT ["sh"、 "myscript.sh"、 ";"、 "java"、 "-jar"、 "myapplication.jar"] – user1870400

答えて

0

シェルスクリプトとjarアプリケーションを含むフォルダをDockerfileに追加することをお勧めします。

サイドカードファイルに沿ってフォルダアプリケーションにシェルスクリプトとjarアプリケーションがあるとします。あなたのディレクトリ構造は次のようになります

$ ls
Dockerfile
アプリ
- shell-script.sh
- myapplication.jar

Dockerfileにフォルダappを追加
From ubuntu:15.04 # choose right image here add java and other dependencies ADD app /app CMD /app/shell-script.sh && java -jar /app/myapplication.jar

画像を構築して実行
$ docker run -it imageName

開発中に、Dockerファイルにフォルダを配置した場所にフォルダをマウントしてコンテナを実行して、スクリプトまたはjarアプリケーションを変更するたびに、ドッカー画像を構築しないでください。これはあなたに多くの時間を節約します。

docker run -it -v $(pwd)/app:/app imageName

+0

[Dockerfileベストプラクティスガイド](https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/)によると、おそらく 'COPY'を使用し、' ADD'は使用しないことに注意してくださいあなたの状況は特に後者を求めています。 – Marakai

関連する問題