본문 바로가기
  • 오늘처럼

docker15

Docker and container runtime 1. 컨테이너 컨테이너는 프로세스가 실행되는 루트를 변경해주는 chroot, 프로세스들의 자원을 제어하는 cgroup(control group), namespace 등의 개념을 이용하여 프로세스를 격리하여 소프트웨어 레벨에서 어플리케이션의 실행 환경을 구현해주는 서비스이다. Virtual Machine 에 비하여 가볍다는 장점이 있어서 2010년 중반 이후 널리 사용되고 있으나, 완전히 새로운 개념은 아니며 과거 Linux 개발자/관리자 사이에서 이미 내부적으로 사용하고 있었던 기능을 쓰기 쉽게 패키징 하였다고 볼 수 있다. (chroot 기능 자체가 이미 1979년 Unix version 7 에서 시스템콜로 구현되었다.) 컨테이너와 도커를 다루는 여러 자료를 보면 runc, lxc, cri-o 와 같이.. 2021. 8. 30.
Docker registry service 2 Docker registry config docker registry를 사용하면, private 한 환경에서 image registry를 구축할 수 있다. 이번에는 단순하게 registry를 사용하는 것 뿐만 아니라 registry 를 배포하고 설정을 변경하여 실제 개발/운영 환경에서 사용하기 위한 추가사항에 대하여 다루어본다. 1. Registry 를 항상 재시작 하도록 설정 Docker registry 컨테이너가 구동되는 호스트가 재부팅 되거나, 호스트 내에서 docker process 가 재시작 될 경우 자동으로 registry 컨테이너가 구동되도록 할 경우, container 구동(run)시에 '--restart=always' 옵션을 추가할 수 있다. public registry를 사용하지 않고,.. 2018. 6. 20.
Docker Linux Container 기반 가상화 지원 service 1. Container 기술과 Docker 기존의 시스템 관리자들은 서비스를 제공하는 서버를 관리하기 위하여 VM(Virtual Machine, 가상머신)을 사용하여 자원을 관리해왔다. VM을 사용하는 서버 관리 방식은 물리적 서버를 직접 운영하는 것보다 효율적이었지만, Host OS 위에 Guest OS를 구동하는 구조로 인하여 가상화(hypervisor 레이어) 자체에 대한 비용이 존재하였다. 또한 서비스의 규모가 커지거나, 사용시간 등에 따라 사용량이 수시로 변경되면서 자원을 효율적으로 관리하기 위한 스케일에 대한 필요성도 증가하였다. 이러한 환경에서 등장한 컨테이너 기술은 Guest OS를 생성하여 시스템 자체를 가상화 하는 것이 아닌,.. 2018. 3. 18.