Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 유닉스
- 명령어
- go multifile manage
- UNIX
- linux
- go make new project
- sudo
- awk
- 자율주행
- 리눅스
- carla
- 자택근무
- ssh-keygen
- 코로나바이러스
- 리눅스 멀티미디어
- linux go new project
- html5
- 파이프 와이어
- 사회적거리두기
- MAN
- 예제
- CODE128
- Go
- go new project
- ssh-copy-id
- grep
- barcode
- tldr
- WebCam
- TEE
Archives
- Today
- Total
힘내라 일처리
리눅스 컨테이너 알아보기 - 컨테이너 동작 원리 본문
반응형
컨테이너의 동작 원리
컨테이너 기술은 간단해 보이지만 자그마치 3개의 커널 기술이 사용된 컴비네이션이다.
- cgroup (Control Group)
- 시스템의 자원에 제한을 둠. CPU사용량, 메모리 사용량등에 제한을 줄 수 있음.
- 꼭 필 수 인가? 는 잘 모르겠음.
- chroot (Change root) 또는 pivot_root
- 파일 시스템의 루트 경로를 바꿈. 새로운 파일 시스템을 만들거나 (임베디드에서 yocto나 buildroot 를 사용하지 않았을때는 이걸로 파일시스템을 직접 구성할 수 있었다. 안에서 패키지도 설치 가능했던걸로 기억 Qemu를 이용하고 그랬어야함.), 웹 호스팅 등을 제공할때 사용됨
chroot
는 별도로 취약점 문제가 있어서 이후에는pivot_root
를 사용함.
- namespace
- 네임스페이스는 프로세스가 볼 수 있는 범위를 제한한다.
- mnt
- pid
- net
- ipc
- uid
- 네임스페이스는 프로세스가 볼 수 있는 범위를 제한한다.
이러한 기능들을 바탕으로 프로세스를 실행하면, 해당 프로세스는 자신만의 파일 시스템과 다른 프로세스는 보이지 않고 하위 프로세스만 조회 가능한 상태가 됨. 해당 프로세스 입장에서는 자신 이외에는 아무것도 없는 것처럼 느낄 것이다.
마치 영화 "트루먼쇼"에서 짐 캐리가 연기한 트루먼 버뱅크가 영화 세트장(컨테이너) 밖에 실제 세상이 있는걸 모르던 것처럼.
컨테이너를 보고 트루먼 쇼를 떠올린건 나뿐만은 아닌거 같다. https://www.youtube.com/watch?v=n-l9ccP1zR8
go 언어로 단순하게 구성된 프로젝트가 있다. [https://github.com/zeyneloz/simple-container-with-go] 이것도 참고해보면 이해하는데 도움이 될듯 하다.
반응형
'알아보기' 카테고리의 다른 글
콘솔에서 로그 하이라이트 하는법 알아보기 : hl (pipeline highlighter) (0) | 2023.04.05 |
---|---|
Caddy2 알아보기 / 자동 HTTPS / 리버스 프록시 (0) | 2023.02.07 |
swift mac 개발 참고 자료 모음 (0) | 2022.10.21 |
byobu 아주 긴 내용 복사하는 법 알아보기 (0) | 2022.08.24 |
pdf 문서 번역하는 법 알아보기 (0) | 2022.08.14 |
Comments