6-2. 컨테이너 리소스 관리하기.
·
쿠버네티스/docker
컨테이너 부하 테스트 프로그램stress container 생성컨테이너 빌드 : 부하 테스트 프로그램 stress를 설치하고 동작시키는 컨테이너 빌드CPU 부하 테스트 : 2개 cpu core 를 100% 사용하도록 부하 발생stress --cpu 2메모리 부하 테스트 : 프로세스 수 2개와 사용할 메모리만큼 부하 발생 :stress --vm 2 --vm-bytes 메모리 리소스 제한 실습docker run -m 100m --memory-swap 100m stress:latest --vm 1 --vm-bytes 90m -t 5s최대 100mb 사용 가능, swap 메모리 0mb 사용 가능.stress:latest 사용 시, 5초동안 90mb 메모리 부하5초 뒤 작동됨.docker run -m 100m -..
6-1. 컨테이너 관리(하드웨어 리스소 제한 및 컨테이너 모니터링)
·
쿠버네티스/docker
컨테이너 하드웨어 리소스 제한 방법하드웨어 리소스란? 디스크, cpu, 메모리 등을 의미함.컨테이너 하드웨어 리소스 제한 이유기본적으로 컨테이너는 호스트 하드웨어 리소스의 사용 제한을 받지 않음.A컨테이너가 리소스를 많이 사용하게 되면, 다른 컨테이너에서는 리소스를 적게 사용할 수밖에 없음.컨테이너가 필요로하는 만큼의 리소스만 할당.docker command를 통해 제한할 수 있는 리소스CPUMemoryDisk I/Odocker run --helpMemory 리소스 제한옵션의미--memory, -m컨테이너가 사용할 최대 메모리 양을 지정.--memory -swap컨테이너가 사용할 스왑 메모리 영역에 대한 설정.메모리 + 스왑. 생략 시 메모리의 2배가 설정됨--memory -reservation--mem..
5-2. Docker 컨테이너 사용하기
·
쿠버네티스/docker
컨테이너 이미지 관리 명령어 사용하기docker search [옵션] NAME : 이미지 이름`/` 앞의 이미지 이름 : 레파지트리 (특정 커뮤니티 or vendor or 각 유저)DESCRIPTION : 설명STARS : 별점 개수OFFICIAL : 공식 이미지 (가급적 official 로 다운로드받기)AUTOMATED : ddocker file 으로부터 이미지 자동 builddocker pull [옵션] 태그명 생략 시, latest 버전으로 다운로드 됨태그명 지정 시, 해당 버전으로 다운로드 받음 (docker pull nginx:1.14)docker images--no-turunc : IMAGE ID 전체 노출docker inspect [옵션] docker rmi [옵션] 컨테이너 실행 및 운영..
5-1. 컨테이너 사용하기
·
쿠버네티스/docker
컨테이너 이미지 사용 방법이미지 검색 : docker search [옵션] ex) docker search nginx이미지 다운로드 : docker pull [옵션] ex) docker pull nginx:1.14다운받은 이미지 목록 출력 : docker images다운받은 이미지 상세보기 : docker inspect [옵션] ex) docker inspect nginx이미지 삭제 : docker rmi [옵션] 컨테이너 실행 및 종료 명령어컨테이너 생성 : docker create [옵션]  ex) docker create --name webserver nginx:1.14다운로드 받은 컨테이너 이미지를 컨테이너 애플리케이션으로 실행예시에서 --name webserver 을 통해 nginx:1.14 ..
4-2. 컨테이너 보관 창고
·
쿠버네티스/docker
hub.docker.com 에 컨테이너 업로드 및 다운로드docker search [검색어] : dockerhub에서 이미지 검색docker pull [이미지명:버전] : docker hub 에서 이미지 다운로드docker images (docker image ls) : 다운로드받은 이미지 확인container 을 repository에 업로드docker login : 로그인 (docker logout 하기전까지 login상태 유지)컨테이너 이름에 tag 작성 (id 명)docker push : dockerhub에 이미지 업로드tag가 없는 경우, 거절됨tag가 있는 경우, 정상 업로드됨결과 확인 (https://hub.docker.com/)Private REgistry 운영하기private registr..
4-1. 컨테이너 보관 창고
·
쿠버네티스/docker
컨테이너 보관창고(Registry)Registry : 여러 형태의 컨테이너 이미지가 저장되어있는 저장소Docker hub : hub.docker.com퍼블릭한 컨테이너 이미지가 많이 저장되어있는 registryprivate Registry : 사내의 컨테이너 저장소 (보통 회사에서 자주 쓰임)docker hub(registry) 사용 방법https://hub.docker.com/image 종류Official Images : docker.com 이 직접 관리하는 이미지, 누구나 사용 가능.Verified Publisher : official 이미지 외, vendor 가 제공하는 컨테이너 이미지.etc.이미지 검색 : $ docker search "keyword"Private Registry 구축regist..
3-2. 도커 컨테이너 만들어보기
·
쿠버네티스/docker
nodejs 애플리케이션 컨테이너 만들기 : hellojs디렉토리 생성hello.js 파일 준비const http = require('http');const os = require('os');console.log("Test server starting...");var handler = function(request, response){ console.log("Received request from " + request.connection.remoteAddress); response.writeHead(200); response.end("Container Hostname: " + os.hostname() + "\n");};var www = http.createServer(handler);www.lis..
3-1. 도커 컨테이너 만들어보기
·
쿠버네티스/docker
무엇을 컨테이너로 만드는가?개발한 프로그램 (애플리케이션, 실행파일) 과 운영환경을 모두 컨테이너로 만듬. MSA (Micro Service Architecture) 환경의 plyglot 애플리케이션 운영MSA : 작고, 독립적으로 배포가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크polyglot programming : 다양한 언어를 사용하여 프로그래밍하는것컨테이너를  만드는 방법과 docker file의 정의dockerfile : container를 만들 수 있도록 도와주는 명령어 집합쉽고, 간단, 명확한 구문을 가진 text file 로 top-down 해석컨테이너 이미지를 생성할 수 있는 고유의 지시어(instruction)를 가짐대소문자를 구분하지 않으나, 가독성을 위해 사용함. $mk..