Docker 03
·
Programming
어떻게 컨테이너의 변경 사항 및 데이터를 저장할 수 있을까? - 컨테이너는 하나의 프로세스라고 생각할 수 있다. - 프로세스가 완벽히 종료되어 사라지면 프로세스의 데이터도 같이 사라진다. - 이렇게 컨테이너 내부에서 생성되거나 변경된 파일에 대한 데이터를 관리해야 하는 니즈가 있다. - Docker는 Container Layer의 문제점을 개선한 Docker Volumne이라는 기술로 이것을 해결했다. R/W Container Layer - 컨테이너 내에서 생성/변경된 모든 파일을 Read-Write 가능한 Container Layer에 저장한다. - Docker는 Copy-on-Write 방식으로 변경 사항을 관리한다. - 컨테이너는 이미지의 연속된 층인데 컨테이너 자체에서 관리하는 층(R/W laye..
Docker 02
·
Programming
Docker를 지탱하는 기술 chroot(change root) 프로세스의 새로운 루트 디렉터리를 만든다. 그리고 그 루트의 상위로 접근할 수 없게 하는 기술 즉 호스트 파일 시스템이 아닌 별도의 실행환경을 가지게 된다. namespace 하나의 시스템(호스트 OS)에서 수행되지만 독립된 공간처럼 격리된 환경을 제공하는 리눅스 커널의 경량 프로세스 가상화 기술 cgroup(control group) 하나의 프로세스에 할당되는 물리적인 자원을 조정하는 기술 CPU개수, CPU 사용률, 최대 할당 Memory 등 Overlay File System 공통적으로 사용하는 이미지는 Read-Only로 하나의 레이어를 공유하고 Write 전용 레이어를 두어 컨테이너별로 사용하는 데이터 및 레이어를 따로 관리하는 기..