참고링크 :
https://ssyoni.tistory.com/m/22
이클립스나 인텔리J에서 실행할 jar 파일 생성
* 그래들일 경우에는 bootjar 더블클릭하면 build 폴더에 jar파일 생김
경로 : C:₩Users₩sung₩Desktop₩Dcoker
파일명 : Dockerfile
======================================================================================================
FROM openjdk:8-jdk-alpine
ARG JAR_FILE=stock-0.0.1-SNAPSHOT.jar
COPY ${JAR_FILE} myboot.jar
ENTRYPOINT ["java","-jar","/myboot.jar"]
======================================================================================================
FROM 이미지를 생성할 때 사용할 기반 이미지입니다. openjdk:8-jdk-alpine 이미지에서 레이어를 생성합니다.
ARG 변수 선언
COPY 실행할 jar파일을 도커 컨테이너 내부에 myboot.jar라는 이름으로 복사합니다. 상대 경로로 위치도 같이 설정 가능합니다.
ENTRYPOINT 컨테이너가 시작될 때 실행할 스크립트 혹은 명령을 정의합니다.
======================================================================================================
docker build -t stock .
======================================================================================================
-t : 특정 이름으로 이미지를 빌드한다는 의미의 옵션입니다.
. : Dockerfile의 경로를 나타냅니다. 현재는 빌드 명령어가 dockerfile와 같은 경로에서 실행되기 때문에 (.)으로 작성하였습니다.
======================================================================================================
docker images
======================================================================================================
======================================================================================================
PS C:₩Users₩sung₩Desktop₩Dcoker> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
stock latest f22be1f86131 14 seconds ago 148MB
======================================================================================================
======================================================================================================
docker run -it -p 9090:80 --name test stock
======================================================================================================
-p <external_host_port> : <container_host_port> : 호스트의 포트를 노출된 컨테이너 포트에 명시적으로 매핑하는 옵션입니다.
로컬의 9090 포트와 컨테이너의 80 포트를 매핑합니다.