Search
Duplicate
📒

[Docker Container] 03-1. Docker Container 기술

상태
미진행
수업
Docker Container
주제
Docker
4 more properties
참고

Docker container

NOTE
Docker container Dokcer image Snpashot + Process
위 처럼 Dokcer Image + Process를 통해 Container를 생성한다!

Container 격리 기술

NOTE
격리 기술
설명
Cgroups
Control group의 약어로, 프로세스의 리소스 사용량을 격리하고 제어하는 리눅스 커널의 기술이다.
Namespace
리눅에서 VM과 같이 각 Guest OS별로 독립적인 공간을 제공하고 서로가 충돌되지 않게 해주는 역할을한다.
chroot
프로세스의 루트 디렉토리를 변경, 격리하여 가상의 루트 디렉토리를 만든다.
pivot_root
루트 파일시스템 자체를 바꿔, 컨테이너가 전용 루트 파일 시스템을 가지도록 한다. (chroot 보완)
Mount namespace
namespace 내에 파일 시스템 트리를 구성
UTS namespace
컨테이너에 대한 hostname 격리를 수행하여 고유한 hostname 보유 가능
PID namespace
PID와 프로세스를 분리(systemd와 분리)
Network namespace
네트워크 리소스 (IP, Port, route table ,ethernet, .. ) 할당
IPC namespcae
전용의 process table 보유
가상의 공간을 하나 만드는것

Container 라이프 사이클

NOTE
전반적인 라이프사이클 흐름
docker pull ubuntu:16.04 docker images | grep ubuntu docker create -it --name=myubuntu16-1 ubuntu:16.04 docker start myubuntu16-1 docker stop myubuntu16-1 docker rm myubuntu16-1
Shell
복사
실습 코드

Container Process, Snapshot 확인

NOTE
# docker 이미지 실행, 내부에서 파일 생성 docker run -it --name=mycontainer ubuntu:14.04 bash 'fastcampus!' > mycontainer.txt # 프로세스 확인 ps -ef | grep mycontainer # 컨테이너 내부에서 생성된 정보는 container layer + snapshot 영역에 저장된다. sudo su - find /var/lib/docker -name mycontainer.txt cd ~/merged # merged로 표시된 경로로 이동 ls
Shell
복사
프로세스로 확인이 가능하다.
스냅샷을 확인할 수 있다.