빌드 캐시 생성을 위한 이미지 빌드
이 단계에서는 일부 빌드 캐시를 생성하기 위해 간단한 Docker 이미지를 빌드합니다. Docker 빌드 캐시는 이전 빌드에서 레이어를 재사용하여 빌드 프로세스의 속도를 높이는 메커니즘입니다. Docker 이미지를 빌드할 때 Dockerfile 의 각 명령은 레이어를 생성합니다. 마지막 빌드 이후 명령이 변경되지 않은 경우 Docker 는 다시 빌드하는 대신 기존 레이어를 재사용할 수 있습니다.
먼저, 프로젝트 디렉토리를 생성하고 해당 디렉토리로 이동해 보겠습니다.
mkdir ~/project/docker-cache-demo
cd ~/project/docker-cache-demo
이제 간단한 Dockerfile 을 생성합니다. 이 Dockerfile 은 파일을 이미지로 복사한 다음 명령을 실행합니다.
nano Dockerfile
다음 내용을 Dockerfile에 추가합니다.
FROM ubuntu:latest
COPY . /app
RUN echo "Hello, Docker Cache!" > /app/message.txt
CMD ["cat", "/app/message.txt"]
파일을 저장하고 닫습니다.
다음으로, 이미지로 복사할 간단한 파일을 생성해 보겠습니다.
nano message.txt
message.txt에 내용을 추가합니다.
This is a test message.
파일을 저장하고 닫습니다.
이제 Docker 이미지를 빌드합니다. 이미지를 cache-demo로 태그합니다.
docker build -t cache-demo .
Docker 가 이미지를 단계별로 빌드하고 있음을 나타내는 출력을 볼 수 있습니다. 각 단계는 Dockerfile 의 명령에 해당합니다. Docker 는 ubuntu:latest 이미지가 아직 없는 경우 다운로드하고, message.txt 파일을 복사한 다음 echo 명령을 실행합니다.
빌드가 완료된 후 사용 가능한 이미지를 나열하여 이미지가 생성되었는지 확인할 수 있습니다.
docker images
이미지 목록에 cache-demo가 표시됩니다.
이제 Dockerfile 또는 message.txt를 변경하지 않고 이미지를 다시 빌드해 보겠습니다.
docker build -t cache-demo .
이번에는 빌드 프로세스가 훨씬 빠르다는 것을 알 수 있습니다. Dockerfile 의 명령과 message.txt의 내용이 변경되지 않았기 때문에 Docker 는 이전 빌드에서 기존 레이어를 재사용합니다. 출력에는 대부분의 단계에 대해 "Using cache"가 표시됩니다. 이는 Docker 빌드 캐시가 후속 빌드의 속도를 높이는 방식을 보여줍니다.