728x90
@RestController
public class MainController {
@GetMapping("/ping")
public String check() {
return "pong";
}
}
MainController 에 api를 만들어 줍니다.
또한, port는 7000번으로 지정해주었습니다.
./gradlew clean build
명령어를 통해 build 를 해 줍니다.
여기서, ./gradlew build를 해주어도 무방합니다.
이때 프로젝트에 Dockerfile 을 다음 내용과 같이 생성해줍니다.
FROM openjdk:17
ARG JAR_FILE=build/libs/threedollar-application.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
FROM 부분의 openjdk 뒤에 부분은 자바의 버전을,
ARG는 컨테이너 에서 사용할 변수 지정을 합니다.
COPY 부분은 ARG에서 선언한 JAR_FILE 변수를 컨테이너의 app.jar로 복사를,
ENTRYPOINT 는 컨테이너가 실행 됐을때 스크립트 실행을 의미합니다.
이후에 터미널을 통해 Dockerfile 있는 곳으로 이동합니다.
docker build -t [3dollar-community] .
여기서 -t 옵션을 통해 3dollar-community 로 이름을 가진 이미지를 생성해줍니다.
docker run -d -p 7070:7000 3dollar-community
7070(외부에서 접속):7000(내부 포트)
생성된 이미지를 7070번 포트를 통해 접속할 수 있도록 컨테이너를 실행해줍니다.
Docker Desktop을 통해 컨테이너가 실행하는 것을 확인하였습니다.
7070포트를 통해 /ping api 를 호출 g pong 으로 잘 응답하는 것을 확인할 수 있습니다.