Dockerfile이란?
Docker 이미지는 Dockerhub을 통해 다운받아서 사용할 수 있다. 이 Docker 이미지들도 누군가 만들어서 Dockerhub에 올려놓은 것이다. 그럼 도대체 이 Dcoker 이미지는 어떻게 만드는 걸까? Dockerfile을 활용하면 나만의 Docker 이미지를 만들 수 있게 된다.
정리하자면, Dockerfile이란 Docker 이미지를 만들게 해주는 파일이다.
[실습] 백엔드 프로젝트(Spring Boot) 프로젝트를 Docker로 실행시키기
인텔리제이에서 코드 작성 후
package com.example.inflearn;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class AppController {
@GetMapping("/v1")
public String home() {
return "Hello, 인프런!";
}
}
터미널에서 Spring Boot 프로젝트 빌드 진행
(개발자가 작성한 코드(사람이 이해하는 언어)를 → 컴퓨터가 이해할 수 있는 형태로 바꾸는 과정이 바로 "빌드")
./gradlew clean build
(SNAPSHOT.jar 파일 생성 완료)
메인 프로젝트에서 Dockerfile 생성하고 코드 작성
FROM openjdk:17-jdk
COPY build/libs/*SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
이후 다시 Spring Boot 프로젝트 빌드 진행
./gradlew clean build
Dockerfile을 바탕으로 이미지 빌드하기(생성하기)
# docker build -t [이미지명(본인 작성)]:[태그명] [Dockerfile이 존재하는 디렉터리 경로]
태그명을 적지 않으면 latest로 설정된다.
docker build -t hello-server .
이미지가 잘 생성됐는지 확인하기
docker image ls
생성한 이미지를 컨테이너로 실행시켜보기
docker run -d -p 8080:8080 hello-server
컨테이너 잘 실행되고 있는 지 확인하기
docker ps
크롬에서 http://localhost:8080/v1 접속해 보기
실행시킨 컨테이너 중지 / 삭제하기, 이미지 삭제하기
docker stop [컨테이너 ID 또는 컨테이너명]
docker rm [컨테이너 ID 또는 컨테이너명]
docker rm -f [컨테이너 ID 또는 컨테이너명]
종료와 삭제를 동시에 진행
docker image rm [이미지 ID]
'개발 > 강의' 카테고리의 다른 글
인프런 : Docker 6 - AWS ECR (0) | 2025.04.14 |
---|---|
인프런 : Docker Copmose 5 (0) | 2025.04.14 |
인프런 : Docker Copmose 4 (0) | 2025.04.12 |
인프런 : Docker Volume 2 (0) | 2025.04.11 |
인프런 : Docker 1 (0) | 2025.04.10 |