더북(TheBook)

기록 가능 레이어를 새 파일을 만드는 데만 사용하는 것은 아니다. 기존 이미지 레이어에 있는 파일을 수정할 수도 있다. 그러나 조금 전에 이미지 레이어는 읽기 전용이라고 하지 않았나? 여기에 바로 비밀이 있다. 도커는 기록 중 복사(copy-on-write)라는 방법을 사용해 읽기 전용 레이어의 파일을 수정할 수 있다. 컨테이너에서 이미지 레이어에 포함된 파일을 수정하려 하면, 먼저 도커가 이 파일을 쓰기 가능 레이어로 복사해 온 다음 쓰기 가능 레이어에서 파일을 수정한다. 컨테이너나 애플리케이션에는 이 과정이 드러나지 않지만, 바로 이 방법이 도커가 스토리지를 매우 효율적으로 사용할 수 있는 비법이다.

유상태 컨테이너를 본격적으로 다루기 전에 한 가지 예제를 더 살펴보자. 이번 실습에서는 컨테이너를 실행해 이미지 레이어에 포함된 파일의 내용을 출력해 볼 것이다. 그리고 파일을 수정한 다음 다시 변경된 파일 내용을 확인한다.

실습 다음 명령으로 컨테이너를 실행해 파일의 내용을 출력한다. 그다음 파일의 내용을 수정하고 컨테이너를 재시작해 변경된 파일 내용을 확인한다.

docker container run --name f1 diamol/ch06-file-display

echo “http://eltonstoneman.com” > url.txt

docker container cp url.txt f1:/input.txt

docker container start --attach f1
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.