2017-12-11 20 views
-1

誰かが私にこのラインが必要であり、このラインが何をしているのかを私に説明することができますか?"RUN sh -c 'touch /app.jar'"は何をしますか?

フルドッカーファイルはこのように見え、すべてのテンプレートで見つけることができます。

FROM frolvlad/alpine-oraclejdk8:slim 
VOLUME /tmp 
ADD docker-example-service-1.0.jar app.jar 
RUN sh -c 'touch /app.jar' 
EXPOSE 8080 
ENV JAVA_OPTS="" 
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-Dapp.port=${app.port}", "-jar","/app.jar"] 
+1

以下を参照して、ファイルが最後にアクセスされたときの更新です。それが存在しなければそれを作成します。これは 'sh'シェルで実行されているだけで、' -c'フラグは実行するコマンドとして次の文字列を取るだけです。 –

答えて

0

touchファイルやディレクトリのアクセス日時およびまたは変更日を更新するために使用される標準的なUnixコマンドラインインターフェイスプログラムです。 [...] Touchは、プログラムの正常な動作のために特定の名前のファイルを必要とするが、ファイルに特定の内容を必要としないプログラムまたはスクリプトのファイルをすばやく作成する場合にも便利です。あなたのケースでは

Wikipedia

それはtouchコマンドは、ファイルが存在することを確認するために使用される可能性が最も高いです。

0

touchコマンドは、タイムスタンプをfile、directoryに更新します。

ファイルを作成して更新するときにファイルを追跡できるようにします。あなたはapp.jarするタイムスタンプを更新するコマンドの上、ドッキングウィンドウのビルドを呼び出す

RUNのSHの-c '/app.jarタッチ'。タッチコマンドの完全な詳細については

すべての `touch`はありませんリンク https://www.computerhope.com/unix/utouch.htm

関連する問題