3-1. 도커 컨테이너 만들어보기
·
쿠버네티스/docker
무엇을 컨테이너로 만드는가?개발한 프로그램 (애플리케이션, 실행파일) 과 운영환경을 모두 컨테이너로 만듬. MSA (Micro Service Architecture) 환경의 plyglot 애플리케이션 운영MSA : 작고, 독립적으로 배포가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크polyglot programming : 다양한 언어를 사용하여 프로그래밍하는것컨테이너를  만드는 방법과 docker file의 정의dockerfile : container를 만들 수 있도록 도와주는 명령어 집합쉽고, 간단, 명확한 구문을 가진 text file 로 top-down 해석컨테이너 이미지를 생성할 수 있는 고유의 지시어(instruction)를 가짐대소문자를 구분하지 않으나, 가독성을 위해 사용함. $mk..
2. 도커, 컨테이너 살펴보기
·
쿠버네티스/docker
컨테이너와 컨테이너 이미지의 차이컨테이너 = 하나의 애플리케이션이다.하나의 컨테이너는 완전히 분리되어 각자 운영된다.docker hostdocker daemon 이 동작되고 있는 리눅스 커널이 있는 시스템※ docker deamon : 도커 프로세스가 실행되어 서버로부터 입력받을 준비가 된 상태도커가 컨테이너를 실행할 수 있는 플랫폼을 만들어놨음을 의미함.호스트 입장에서 컨테이너는 단순히 동작하는 프로세스 중 하나.컨테이너 이미지컨테이너는 여러개의 레이어로 구성되어 있다.컨테이너 이미지는 여러개의 레이어로 구성되어, 하나의 애플리케이션이 잘 실행되도록 모아져있는 이미지의 이미지들의 조합.단순히 하드웨어에 저장되어있는 파일을 의미함. (read only)컨테이너 이미지를 docker host에서 실행했을 ..
1. 컨테이너와 도커의 이해
·
쿠버네티스/docker
컨테이너를 배우는 이유 SW 운영 플랫폼의 변경 과정 Bare Meter 대용량의 bare metal에 여러개의 애플리케이션 운영 구조. Virtualization 하드웨어 가격은 싸지고 성능은 좋아지는 동시에, 시스템이 대용량을 요구함. bare metal 에 hyperviser (가상컴퓨터) 를 만든 뒤, 필요한 애플리케이션을 사용하는 구조로 변경 Any Infrastructure Virtualization 에서 애플리케이션 서비스에서 요구하는 클라이언트 양에 따라 자유롭게 확장/축소 bare metal 에 OS를 올린 뒤 container engine을 올림 (docker 는 container engine 중 하나) 컨테이너의 특징 애플리케이션을 동작시키는 데 필요한 환경 library, java,..
8. looping
·
쿠버네티스/shell programming
산술연산 expr, let expr 정수형 산술연산 (+, -, *, /, %) *, /, % 는 작은따옴표로 묶거나, `\`를 앞에 추가해서 사용해야 한다. 아래와 같이 산술연산을 사용하여 바로 변수에 입력가능하다. 논리연산 (|, &) 관계연산 (=, !=, >, >=,
7. Branching
·
쿠버네티스/shell programming
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
·
쿠버네티스/shell programming
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` 입력하기 변수 여러 개에 값 입력하기 : 스페이스를 경계로 입력됨 변수와 값의 개수가 일치하지 않..
5. Positional Parameters
·
쿠버네티스/shell programming
Positional Parameters 위치 매개변수 (positional parameters) 입력하는 arguement들은$0, $1, $2와 같이 변수에 저장되어 script에 저달됨 name of shell script : $0 first arguement : $1 second arguement : $2 Number of arguements in $# List of all parameters in $@, $* Special sehll variables : 위치 매개변수 외에 특별히 쉘이 정해놓고 사용하는 변수. 로그인 shell의 PID : $$ 현재 작업 디렉토리 : $PWD 부모 프로세스 ID : $PPID 예제를 통해 확인하기 positional parameter 출력 쉘 스크립트 만들기. ..
4. Bash shell script란
·
쿠버네티스/shell programming
scriptprogram 설명script하나의 파일에 기존에 존재하는 명령어들을 넣어 순차적으로 interpreter (해석해서 실행하는 것)대표적으로 펄 스크립트, 쉘 스크립트 등이 있음program소스 코드를 하나의 파일에 넣은 뒤 컴파일러가 컴파일하여 바이너리 명령어를 만들어 동작 시키도록 하는 것을 의미함.대표적으로 C, java 등이 있음. Shell script란?리눅스 command들을 모아놓은 ASCII Text 파일vi test.sh 후 test.sh 파일 수정실행 퍼미션을 할당해야 실행 가능.chmod +x test.shls -l test.sh 를 했을 때, -rwxrwxr-x 로 뜨면 실행 퍼미션 할당 성공./test.sh : test.sh퍼미션을 실행함.Bash shell scrip..