2017-12-11 14 views
-1

누군가이 라인이 필요한 이유와이 라인이 무엇을하고 있는지 설명 할 수 있습니까?"RUN sh -c 'touch /app.jar'"는 무엇을합니까?

전체 도커 파일은 이와 유사하며 모든 templanete에서 찾을 수 있습니다.

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

파일이 마지막으로 액세스 한 업데이트는 모든'않습니다 touch'입니다 링크 아래 참조; 그것이 존재하지 않으면 - 그것을 만듭니다. 이것은'sh' 쉘에서 실행되는 것입니다.'-c' 플래그는 다음 문자열을 실행할 명령으로 사용합니다. –

답변

0

touch는 파일이나 디렉토리의 액세스 날짜 또는 수정 날짜를 업데이트하는 데 사용되는 표준 유닉스 명령 줄 인터페이스 프로그램입니다. [...] Touch는 프로그램을 성공적으로 수행하기 위해 특정 이름의 파일을 필요로하는 프로그램이나 스크립트의 파일을 빠르게 작성하는 데 유용 할 수 있지만 파일에 특정 내용이 있어야 할 필요는 없습니다. 귀하의 경우에는 Wikipedia

IT는 touch 명령 파일이 존재하는지 확인하는 데 사용되는 가장 가능성이 높습니다.

0

touch 명령은 타임 스탬프를 file, directory로 업데이트합니다.

파일을 만들거나 업데이트 할 때 파일을 추적 할 수 있습니다. 당신이 app.jar하는 타임 스탬프를 업데이트 할 것입니다 위의 명령, 고정 표시기 빌드를 호출

RUN 쉬 -c '/app.jar 터치'. 터치 명령의 자세한 내용을 보려면

https://www.computerhope.com/unix/utouch.htm