#11. 도커없이 컨테이너 이해하기

HyunJunSon·2025년 6월 16일

Azure

목록 보기
11/13

※ 경기도 x MS 의 클라우드 강의 내용 중 주관적으로 낮설거나 헷갈리는 내용을 정리합니다. 모든 저작권은 해당 기관에 있습니다.

컨테이너 기반 기술

1) chroot
2) namespace
3) cgroup (control group)
4) Union File system


chroot

  • chroot로 newroot를 루트로 인식하도록 바꾸었다.
  • /bin/bash 와 /bin/ls를 newroot 하위에 같은위치에 복사함
  • ldd로 각 bash, ls 에 관련된 동적라이브러리 파일들을 같은 경로에 복사함
  • chroot로 newroot를 root로 인식되도록 변경함. 그럼 새로운 터미널이 보이면서, ls 명령어로 동작하게 된다.
  • 리눅스 파일시스템이 격리, 분리됨을 확인할 수 있다.

namespace

  • 격리된 환경을 제공하는 리눅스 커널의 경량 프로세스 가상화기술

  • 기본적으로 리눅스의 root를 지우면 그 하위의 디렉토리,파일이 모두 지워지는 것처럼 ps도 같은 계층구조를 따라 생성된다.
  • echo $$ : 현재셸의 ps id를 보여준다.

  • unshare로 격리시켜서 bash로 들어간 환경의 uts가 다름을 확인할 수 있다.

  • 네트워크를 격리해보자.
  • 네트워크는 pid, uts 처럼 네임스페이스를 분리시키지만, 동시에 기존의 네트워크와 연결해주는 과정이 필요하다.

  • dev : device를 의미한다.


Cgroup

  • cgroup 내에서 directory를 만들면 상위 폴더의 내용을 상속받아 cgroup. , cpu. 등으로 시작하는 많은 파일을 볼 수 있다.

  • cpu를 50%만 쓰는것을 볼수 있다.

Union Filesystem(AUFS, overlayfs)

  • Azure에서 VM을 만든다는 것은 어떤 의미인가?

  • 디스크에 저장되는 파일 덩어리이다.

  • 사실 VM은 파일이다. VM이 완전히 같은 것을 두개 만들어도, 별도의 디렉토리를 만들어 각각 연결하는 형태로 만들어 진다. 그래서, VM은 생각보다 디스크 사용량이 꽤 많다.

  • 컨테이너는 무엇인가?

  • 컨테이너는 이미지로 만들어지는데, 그 이미지는 read-only 이다.

  • 따라서 같은 이미지를 바탕으로 하는 다른 모든 인스턴스는 같은 이미지를 참조할수 있다.

  • 컨테이너는 read-write 즉, writable layer이다.

  • COW(Copy on write) 즉 복사해서 필요한 경우만, 쓰기를 하는 방식으로 작동한다.

  • 변경사항은 container에만 변경되었다. 이미지는 그대로임
  • merge는 변경후 최종 결과이므로 저렇게 보인다.
profile
즐겁게 공부하고 사람들에게 도움을 주는 개발자가 되고 싶습니다.

0개의 댓글