코딩공부 정리용 블로그입니다.
총방문자
오늘
어제
4-1. 컨테이너 보관 창고
컨테이너 보관창고(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. 도커 컨테이너 만들어보기
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. 도커 컨테이너 만들어보기
무엇을 컨테이너로 만드는가?개발한 프로그램 (애플리케이션, 실행파일) 과 운영환경을 모두 컨테이너로 만듬. MSA (Micro Service Architecture) 환경의 plyglot 애플리케이션 운영MSA : 작고, 독립적으로 배포가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크polyglot programming : 다양한 언어를 사용하여 프로그래밍하는것컨테이너를 만드는 방법과 docker file의 정의dockerfile : container를 만들 수 있도록 도와주는 명령어 집합쉽고, 간단, 명확한 구문을 가진 text file 로 top-down 해석컨테이너 이미지를 생성할 수 있는 고유의 지시어(instruction)를 가짐대소문자를 구분하지 않으나, 가독성을 위해 사용함. $mk..
2. 도커, 컨테이너 살펴보기
컨테이너와 컨테이너 이미지의 차이컨테이너 = 하나의 애플리케이션이다.하나의 컨테이너는 완전히 분리되어 각자 운영된다.docker hostdocker daemon 이 동작되고 있는 리눅스 커널이 있는 시스템※ docker deamon : 도커 프로세스가 실행되어 서버로부터 입력받을 준비가 된 상태도커가 컨테이너를 실행할 수 있는 플랫폼을 만들어놨음을 의미함.호스트 입장에서 컨테이너는 단순히 동작하는 프로세스 중 하나.컨테이너 이미지컨테이너는 여러개의 레이어로 구성되어 있다.컨테이너 이미지는 여러개의 레이어로 구성되어, 하나의 애플리케이션이 잘 실행되도록 모아져있는 이미지의 이미지들의 조합.단순히 하드웨어에 저장되어있는 파일을 의미함. (read only)컨테이너 이미지를 docker host에서 실행했을 ..
1. 컨테이너와 도커의 이해
컨테이너를 배우는 이유 SW 운영 플랫폼의 변경 과정 Bare Meter 대용량의 bare metal에 여러개의 애플리케이션 운영 구조. Virtualization 하드웨어 가격은 싸지고 성능은 좋아지는 동시에, 시스템이 대용량을 요구함. bare metal 에 hyperviser (가상컴퓨터) 를 만든 뒤, 필요한 애플리케이션을 사용하는 구조로 변경 Any Infrastructure Virtualization 에서 애플리케이션 서비스에서 요구하는 클라이언트 양에 따라 자유롭게 확장/축소 bare metal 에 OS를 올린 뒤 container engine을 올림 (docker 는 container engine 중 하나) 컨테이너의 특징 애플리케이션을 동작시키는 데 필요한 환경 library, java,..
8. looping
산술연산 expr, let expr 정수형 산술연산 (+, -, *, /, %) *, /, % 는 작은따옴표로 묶거나, `\`를 앞에 추가해서 사용해야 한다. 아래와 같이 산술연산을 사용하여 바로 변수에 입력가능하다. 논리연산 (|, &) 관계연산 (=, !=, >, >=,
7. Branching
exit실행된 프로그램이 종료된 상태를 전달.exit 0 : 프로그램 또는 명령이 성공적으로 종료했음을 의미1~255 : 프로그램 또는 명령이 실패로 종료했음을 의미1 : 일반 에러2 : Syntax error126 : 명령을 실행할 수 없음127 : 명령(파일) 이 존재하지 않음128+N : 종료 시그널 + N (kill-9PID 로 종료 시, 128 + 9 = 137) $? : 종료값 출력example0 : 정상 종료된 케이스1 : 일반 에러127 : 명령이 존재하지 않음128+n : 종료시그널test 비교연산자`test ` or `[명령어]`명령어 실행 결과를 true(0) 또는 false(1) 로 리턴한다.test 명령어는 다양한 연사자를 지원한다. (help test)x -eq y : x==y..
6. Input&Output
echo prints text to standard output echo -n : 메시지 출력 후 newline 문자를 추가하지 않는다. -e : backslash escapes 문자를 해석하여 특별한 의미를 지정한다. \t : TAB \n : 줄바꿈 \a : alert(bell) read reads text from standard input read 변수명 -n : 지정한 문자수만큼 입력 받는다. -t : 지정된 시간 안에 입력 받는다. -s : silent mode로 입력하는글자가 보이지 않는다. read 명령에서 변수 명 생략 시, 기본 reply 변수에 채워진다. Example score에 `80` 입력하기 변수 여러 개에 값 입력하기 : 스페이스를 경계로 입력됨 변수와 값의 개수가 일치하지 않..