[도커] 컨테이너에 대한 데이터

김성환·2022년 6월 9일
0

도커

목록 보기
9/10

도커에서의 데이터 종류

도커에서 데이터는 크게 3가지로 분류할 수 있다.
1. 임시 에플리케이션 데이터 : 우리가 만든 코드가 아님(애플리케이션이 실행되는 동안 생성된 데이터를 의미) => 이 데이터는 컨테이너가 삭제될 경우 데이터가 사라지게 된다.
예를들어 인적사항을 입력받는 데이터(이러한 데이터는 가공이 가능하다.(변수저장,데이터베이스저장 등등))
2. 영구 애플리케이션 데이터 : 컨테이너가 삭제되거나 생성,중지가 될때 영구적으로 데이터가 없어지지 않는 데이터를 의미한다.
3. 애플리케이션 데이터 : 일반적으로 우리가 작성한 소스코드(읽기전용데이터)(이미지에 저장되기 때문에, 변경불가)

읽기쓰기를 위한 레이어

컨테이너는 생성이 되면 이미지 이외에 읽기쓰기를 위한 레이어가 추가된다.
그래서 읽기쓰기 레이어를 가지는 컨테이너는 어떤 파일이든, 어떤 데이터든 저장하거나 쓰기가 가능하다.
하지만 애플리케이션 데이터의 경우 이미지에 스냅샷으로 저장되어 있기 때문에 편집이 불가능하다(읽기쓰기 레이어에 있는 것이 아님)

run의 의미

도커 명령어에서 run의 의미 : 이미지 기반으로 새로운 컨테이너를 생성하는 것도 맞지만, 우리가 작성한 코드를 해당 컨테이너에서 실행해본다는 의미이다.
하지만, 우리는 코드를 몇번이고 수정하게 된다.
그렇기 때문에, 이미지 기반으로 생성된 컨테이너에서 우리의 코드를 실행하기 위해서는 이미지를 새로 빌드하고 새로운 컨테이너를 생성하여 코드를 실행해야 한다.(스냅샷 때문에)

컨테이너 자체 파일시스템

이미지를 기반으로 컨테이너를 생성할 경우 컨테이너는 자체적인 파일 시스템을 갖게 된다.(로컬파일시스템 기반)
하지만 컨테이너는 격리환경을 갖기 때문에 로컬 파일시스템과 컨테이너 자체 파일 시스템은 연결이 없다.
이 때문에, 컨테이너가 중지되더라도 컨테이너 자체 파일 시스템은 사라지지 않으며, 오직, 컨테이너 삭제의 경우에만 자체 파일 시스템이 사라지게 된다.

profile
개발자가 되고 싶다

0개의 댓글