분류 전체보기 48

Linux Shell이란, Bash shell과 변수

[목차] 1. Shell의 역할 2. Shell의 종류 3. 기본 Shell 구성하기 4. Shell의 변수 5. Shell의 환경변수 1. Shell의 역할 Shell은 사용자 명령어 해석기 사용자가 프롬프트에 입력한 명령을 해석해서 운영체제에게 전달 2. Shell의 종류 Bourne shell(sh) AT&T 벨 연구소의 스티븐 본(Stephen Bourne)이 개발한 Original shell C Shell(csh,tcsh) Bill Joy 가 C언어의 기술을 넣어서 만든 Shell C언어의 문법을 적용 History, aliases, job control, vi command editing and completion 기능을 포함 Korn Shell(ksh) David Korn이 AT&T에서 기존..

개발/Linux 2022.12.30

Docker 빌드에서 운영까지 (using docker compose)

[목차] 1. 도커컴포즈란? 2. 도커컴포즈로 컨테이너 실행 2-1. 도커 컴포즈로 동작시키는 웹서버 예시 2-2. 도커 컴포즈 명령어 3. 빌드에서 운영까지 1. 도커컴포즈란? 여러 컨테이너를 일괄적으로 정의하고 실행할 수 있는 툴 - yaml 파일로 실행 요청 - 하나의 서비스를 운영하기 위해서는 여러 개의 애플리케이션이 동작해야 함 - 컨테이너화 된 애플리케이션들을 통합 관리할 수 있음 - 도커 컴포즈 설치 문서(Install the Compose standalone) : https://docs.docker.com/compose/install/other/ curl -SL https://github.com/docker/compose/releases/download/v2.14.2/docker-compo..

개발/DevOps 2022.12.30

Docker 컨테이너간 통신

[목차] 1. Container Network Model 2. port-forwarding 3. 컨테이너 네트워크 추가하기(고정 ip 사용하기) 4. 컨테이너끼리 통신하기 1. Container Network Model docker0 - virtual ethernet bridge: 172.17.0.0/16 - L2 통신기반 - container 생성 시 veth 인터페이스 생성 (sandbox) - 모든 컨테이너는 외부 통신을 docker0 통해 진행 - container running 시 172.17.X.Y 로 IP 주소할당 - 시스템에서 docker0 확인 ip addr brctl로 브릿지 확인 # 설치가 필요할 수 있음. apt install -y bridge-utils brctl show dock..

개발/DevOps 2022.12.29

Docker Container Storage

[목차] 1. 데이터 보존 방법 2. 컨테이너끼리 데이터 공유하기 3. 컨테이너 데이터 보존 테스트 4. volume 조회 및 삭제 5. 컨테이너끼리 데이터 공유하기 테스트 - 컨테이너 이미지는 readonly(ro), run으로 동작중일 때 readwrite(rw) 가능 - 컨테이너에 추가되는 데이터들은 별도의 RW 레이어에 저장 - Union File System(또는 Overlay): ro레이어와 rw레이어의 변경사항이 마치 하나인 것처럼 만들어서 보여주는 기술 - docker rm 명령어로 컨테이너를 삭제할 경우 rw 데이터도 삭제됨 1. 데이터 보존 방법 컨테이너가 만들어주는 데이터를 영구적을 보존하려면, docker host에다가 특정 저장소를 만들어 저장한다. - volume 옵션 사용 -v..

개발/DevOps 2022.12.29

Docker 컨테이너 리소스 관리

[목차] 1. Memory 리소스 제한 2. CPU 리소스 제한 3. Block I/O 제한 4. 리소스 모니터링 5. stress container 생성 6. cAdvisor 실행 1. Memory 리소스 제한 - 제한 단위는 b, k, m, g로 할당 옵션 의미 --memory, -m 컨테이너가 사용할 최대 메모리 양을 지정 --memory-swap 컨테이너가 사용할 스왑 메모리 영역에 대한 설정 메모리+스왑. 생략 시 메모리의 2배가 설정됨 --memory-reservation --memory 값보다 적은 값으로 구성하는 소프트 제한 값 설정 --oom-kill-disable OOM Killer가 프로세스 kill 하지 못하도록 보호 docker run -d -m 512m nginx:1.14 doc..

개발/DevOps 2022.12.29

Docker Registry 컨테이너 보관창고

- Docker Registry는 컨테이너 이미지를 저장하는 저장소를 말한다. - 도커닷컴에서 직접 운영중인 Public 도커 허브(hub.docker.com)가 있고, 사내 컨테이너 저장소인 Private Registry 등 2종류가 있다. - docker hub에 있는 이미지를 웹으로 검색할 수도 있고, cli환경에서 docker search [키워드명] 명령어를 통해서도 검색 가능하다. - 사내에서 private 컨테이너 저장소를 운영할 수 있도록 도와주는 registry 컨테이너 https://hub.docker.com/_/registry registry - Official Image | Docker Hub About Official Images Docker Official Images are a..

개발/DevOps 2022.12.28

Docker 컨테이너 만들기

[목차] 1. Dockerfile이란? 2. 대표 Dockerfile 문법 3. docker image 실행 4. docker hub 로그인 5. 만든 이미지 파일 hub에 푸시 docker 컨테이너는 개발한 애플리케이션(실행파일)과 운영환경이 모두 들어있는 독립된 공간이다. (예: node:12 / 소스코드 / 실행 명령어) MSA(Micro Service Architecture) 환경의 Polyglot 애플리케이션을 운영할 수 있다. (Polyglot Programming: 다양한 언어를 사용하여 프로그래밍 하는 것) 각각의 Application Service에 맞춰 Container를 만들어 낸다. 1. Dockerfile이란? - Container를 만들 수 있도록 조와주는 명령어 집합 - 쉽고,..

개발/DevOps 2022.12.27

Docker 이미지와 컨테이너 관련 명령어

- docker 이미지 검색 docker search [옵션] - docker 이미지 다운로드 docker pull [옵션] 뒤에 태그명 생략하면 latest 버전으로 자동 다운로드됨 - 컨테이너 이미지 레이어가 들어가는 곳 /var/lib/docker/overlay2 - 저장된 이미지 조회 docker images 또는 docker image ls - 다운 받은 이미지 상세보기 docker inspect [옵션] # --format 옵션 예제. 출력값 중에 특정 키의 값만 출력 docker inspect --format '{{.NetworkSettings.IPAddress}}' webserver #172.17.0.2 # alias 사용해 줄여서 사용할 수도 alias cip=docker inspect ..

개발/DevOps 2022.12.27

Docker 엔진 설치

[목차] 1. 리눅스에서 Docker(도커) 엔진 설치 2. 윈도우(window)에서 Docker 설치 3. 설치 확인 및 실행 4. 특정 계정에 Docker 관리자 권한주기 엔진만 설치하고자 하면 아래 주소로 접근할 수 있다. 설치는 아래 도커 설치 페이지에 자세히 적혀 있어서 사실 따로 정리할 게 없다. 1. 리눅스에서 Docker(도커) 엔진 설치 https://docs.docker.com/engine/install Docker Engine installation overview docs.docker.com - 설치에 필요한 명령어만 정리(centos 기준) # Set up the repository sudo yum install -y yum-utils sudo yum-config-manager \..

개발/DevOps 2022.12.27

Linux 기본 명령어

명령어 설명 기본 형식 주요 옵션 man 명령어 도움말 man 키워드 -k : 매뉴얼 목록을 검색 -s : [섹션숫자] 입력한 섹션에서 검색 ls 파일 목록 ls -a : 숨은 파일 보기 -l : 자세히 보기 -R : 하위 디렉토리까지 모두 출력 -d : 디렉토리 자체를 출력 mkdir 디렉토리 생성 mkdir -m : 퍼미션 설정 -p : 존재하지 않는 부모 디렉토리 생성 rmdir 디렉토리 삭제 *비어있을 때만 삭제 가능 rmdir -p : 비어있는 부모 디렉토리 함께 삭제 cd 디렉토리 이동 cd ~ : Home 디렉토리로 이동 - : 직전 디렉토리로 이동 cp 파일 복사 cp 원본파일명 목적지파일명 -i : overwrite 할 것인지 질문 -f : overwrite 질문없이 무조건 덮어쓰기 -r..

개발/Linux 2022.12.27
728x90
반응형