Image이미지
Image(이미지)는 컨테이너를 실행하기 위해 필요한 프로그램, 라이브러리, 설정을 모두 담아둔 변경되지 않는 원본 패키지입니다.
최종 업데이트개념 이해하기
컨테이너와 이미지가 어떻게 다른지, 흔히 헷갈리는 부분을 정리합니다.
Image(이미지)는 컨테이너를 실행하기 위해 필요한 프로그램, 라이브러리, 설정을 모두 담아둔 변경되지 않는 원본 패키지입니다.
Image는 프로그램을 실행하는 데 필요한 모든 파일과 설정을 담아 고정해 둔 하나의 틀로, 그 자체로는 실행되고 있지 않은 정적인 상태입니다. 이 이미지를 바탕으로 실제로 실행을 시키면 그것이 Container가 되며, 하나의 이미지로 여러 개의 컨테이너를 동시에 만들어낼 수도 있습니다.
서버 작업 보고에서 '이미지를 새로 만들었다', '이미지를 내려받아 실행했다'는 표현을 들을 수 있는데, 이때 이미지는 아직 실행 중인 상태가 아니라 실행을 준비해 둔 원본이라는 점이 중요합니다. 코드를 수정한 뒤에는 이미지를 새로 만들어야 그 변경 내용이 실제 운영 중인 컨테이너에 반영될 수 있습니다.
왜 알아야 하는가
이미지와 컨테이너의 차이를 알면 보고 내용을 정확히 이해할 수 있습니다
이미지는 원본 틀이고 컨테이너는 그 틀로 실제 실행된 상태라는 점을 알면 작업 설명이 훨씬 명확하게 들립니다.
동일한 환경을 여러 곳에 똑같이 재현할 수 있습니다
같은 이미지를 사용하면 테스트 서버와 실제 운영 서버에서 똑같은 환경을 만들 수 있어 오류를 줄입니다.
코드 수정이 왜 바로 반영되지 않는지 이해할 수 있습니다
이미지를 새로 만들지 않으면 변경된 코드가 운영 중인 컨테이너에 그대로 남아있지 않는다는 점을 알 수 있습니다.
자주 묻는 질문
이미지를 지우면 운영 중인 사이트도 사라지나요?
운영 중인 컨테이너가 이미 그 이미지를 바탕으로 실행되고 있다면 바로 영향이 없을 수 있지만, 안전을 위해 운영 중인 이미지는 함부로 지우지 않는 것이 원칙입니다.
이미지는 누가 만들고 어디에 보관하나요?
개발팀이 Dockerfile을 바탕으로 만들며, 보통 Registry라는 저장소에 보관해 필요할 때 내려받아 사용합니다.
우리 사이트의 실행 환경이 어떤 이미지로 구성되어 있는지 궁금하신가요?
코드 수정이 실제 운영 환경에 반영되는 과정을 유지보수 상담에서 설명해 드립니다.