Cloud/Docker
-
Docker) Docker EngineCloud/Docker 2022. 9. 28. 18:27
Docker Image docker image는 readonly형식으로 docker container를 생성하기 위한 template이다. 애플리케이션을 위한 라이브러리와 package와 실행환경을 가지고 있다. layer 구조로 구성되어 있다. Docker Container docker image가 메모리에 로딩된 instance read/write 가능 영역에서 데이터를 기록한다. docker container 생성은 애플리케이션 실행을 의미한다. docker client는 CLI형식으로 dockerhost의 daemon에 명령을 줄수있다. docker registry는 docker image저장소로, image를 외부에서 가져올 수 있다. 대표적으로 docker hub가 있다. Docker Engi..
-
Docker) Union file system의 OverlayFS 실습해보기Cloud/Docker 2022. 9. 28. 01:41
실습 환경 : AWS console (2022/09), Visual Studio Code, Xshell7 실습 목적 : Union file system을 지원하는 OverlayFS 를 알아보고 실습해본다. Union file system 하나의 디렉토리 위치에 여러개의 디렉토리를 마운트하면, 하나의 통합된 디렉토리처럼 보이게하는 파일 시스템 Docker Image와 Docker container가 union file system 기반으로 관리되고 있다. Image layer 특징을 가진다. (마지막 레이어(RW)를 제외하고 다른 레이어들은 Read-only 성격을 갖는다.) Copy-on-write (COW) 특징을 가진다. (변경된 내용만 저장한다.) OverlayFS OverlayFS는 하나의 파일시..
-
Docker) namesapce 실습해보기Cloud/Docker 2022. 9. 28. 01:14
실습 환경 : AWS console (2022/09), Visual Studio Code, Xshell7 실습 목적 : 리눅스 컨테이너 기술 기반인 namespace에 대해 알아보고 실습해본다. namespace 프로세스별로 별도의 커널자원을 분할하는 Linux 커널 기능을 한다. namespace 종류로는 IPC, mnt, net, pid, pid_for_children, uts 가 있다. cgroup은 프로세스 사용량을 제한하는 목적이라면, namespace는 프로세스가 볼수있는 범위를 지정하는 목적이다. Container Container는 완전 격리된 프로세스로 cgroup으로 자원 사용량을 제한하거나, namespace를 통해 볼수있는 자원을 제한할 수 있다. namespace 종류 PID na..
-
Docker) cgroup (Control Group) 실습해보기Cloud/Docker 2022. 9. 27. 22:53
실습 환경 : AWS Console (2022/09), Visual Studio Code, Xshell 7 실습 목적 : 리눅스 컨테이너 기술기반인 cgroup에 대해 알아보고 cgroup 명령을 익혀본다. cgroup 시스템 자원의 사용정보를 수집 및 제한시키는 Linux 커널 기능을 한다. 모든 프로세스에 대해 리소스 사용정보를 수집한다. 제한 가능한 자원 - CPU, Memory, Network, Device, Block I/O cgroup 종류 cgroup 에서 사용 가능한 서브 시스템 blkio : 블록 장치(storage)에 대한 입/출력 제한 cpu : 스케쥴러를 이용해 해당 cgroup에 속한 프로세스 CPU 사용시간 제한 cpuacct : cgroup에 속한 CPU 자원정보 생성 cpus..
-
Docker) chroot (Change Root) 실습해보기Cloud/Docker 2022. 9. 27. 21:13
실습 환경 : AWS Console (2022/09), Visual Studio Code 실습 목적 : 리눅스 컨테이너 기술기반인 chroot 명령을 익혀보기 chroot Linux시스템의 root 디렉토리 위치를 변경한다. 디렉토리 생성 1. root user로 사용자 전환 # root 사용자로 전환 방법 1 su- # root 사용자로 전환 방법 2 sudo su 2. /(root) 디렉토리로 위치 이동 3. chroot 명령으로 root디렉토리를 설정할 디렉토리 생성 mkdir tomato 4. 생성한 디렉토리 위치로 이동 디렉토리 환경 맞추기 chroot 명령을 실행할 설정사용 shell에대한 바이너리가 root로 설정할 디렉토리에 존재하지 않다면, root로 설정할 디렉토리에 해당 shell ..
-
Docker) Docker를 알아보기Cloud/Docker 2022. 9. 27. 19:18
Docker란? Docker는 Container기술의 한 종류, Container 생성과 관리 역할을 한다. VM(Virtual Machine)처럼 완전히 독립된 실행환경(Container)을 생성한다. VM은 Hypervisor기반 가상화를 한다면, Docker는 Container engine을 통해 프로세스 단위 가상화를 한다. Docker는 host의 O/S를 사용하기 때문에, 운영체제를 설치하는것과 유사한 효과를 내면서 설치 용량이 작고 실행 속도도 빠르다. Docker Container는 소프트웨어 실행에 필요한 모든것을 한 파일 시스템안에 감싼 하나의 상자같은 모양이다. Docker Container안에는 런타임코드, 시스템도구, 시스템라이브러리등 서버에 설치되는 모든것이 들어가기 때문에 ho..