본문 바로가기

개발/도커

(2)
docker linuxKit 도커 toolBox 초기 Mac이나 Window에선 리눅스 환경에서 도커를 구동해야함 toolBox란 VMware같은 툴로 리눅스 가상환경을 구축 후, 그 위에 도커 실행 컨테이너에 접근하기 위해선, hostOS -> 가상 머신 -> container를 거쳐야 하기 때문에, 이중으로 포트포워딩을 해야 함 linuxKit Mac과 Window가 자체적으로 가상화된 리눅스 환경을 제공하기 위해 사용하는 툴 한 번의 포트포워딩만으로 외부에서 컨테이너에 접근할 수 있게 해준다. Mac : Xhyve(Hyperkit) window : hyper -v hyper -v 하이퍼바이저의 type1 형태로, 윈도우 커널과 리눅스 커널이 담긴 2개의 컨테이너를 만듬 Client는 window로 둔 상태에서 Docker Da..
docker container docker engine 위에서 돌아가는 하나의 프로세스 1. namespace : 프로세스 분리 컨테이너란 프로세스를 격리하기 위한 기능 -> 컨테이너 A, B가 있다. -> A와 B가 어떤 프로그램을 실행했을 때 할당된 PID가 서로 같은 경우. -> namespace에선 PID를 분리하는 기능이 있다. -> 이로 인해, 각 컨테이너들은 동일한 PID를 써도 영향을 받지 않는다. 2. chroot : 디렉토리 분리 루트 디렉토리를 변경하는 명령어 해당 명령이 실행된 위치를 루트 디렉토리로 인식. 프로세스 실행에 필요한 의존성들이 새 루트 아래 있어야 사용 가능 3. cgroup : 자원 제한 프로세스의 cpu시간, 네트워크 대역폭 같은 시스템 자원을 제한 이 설정은 상속되기 때문에, 도커 엔진으로 생..