먼저 프로젝트의 루트 디렉토리로 이동한다.
여기서 "루트 디렉토리"는 Dockerfile이 위치한 곳을 의미한다.
도커는 이 위치를 빌드 컨텍스트(Build Context)라고 부르는데, 이는 도커가 이미지를 빌드할 때 접근할 수 있는 모든 파일과 디렉토리의 범위를 의미한다.
빌드 컨텍스트는 보안과 성능 측면에서 중요한 개념이다. 도커는 빌드 컨텍스트에 포함된 파일들만 이미지에 복사할 수 있고, 상위 디렉토리나 다른 경로의 파일에는 접근할 수 없다.
이는 빌드의 재현성을 보장하고, 의도하지 않은 파일이 이미지에 포함되는 것을 방지해준다.
docker build -t [your-dockerhub-id]/next15-app:latest .
이 명령어는 Dockerfile을 읽어서 도커 이미지를 생성한다. 각 부분의 의미를 살펴보자
docker build도커 이미지를 빌드하는 기본 명령어다. 실제로는 내부적으로 BuildKit이라는 더 효율적인 빌드 엔진을 사용한다. BuildKit은 빌드에 필요한 파일만 선택적으로 요청하고, 캐시를 효과적으로 활용해서 이전 빌드보다 훨씬 빠르게 작동한다.
t [your-dockerhub-id]/next15-app:latest**-t**또는 -tag 옵션은 빌드된 이미지에 이름과 태그를 붙이는 역할이다. 태그를 지정하지 않으면 도커가 자동으로 생성한 난해한 ID로만 이미지를 참조해야 해서 매우 불편하다.
태그의 구조는 [레지스트리주소]/[이미지이름]:[버전태그] 형식이다