DEVOPS/Docker

    [따배도] 10장 - 빌드에서 운영까지

    주제도커 컴포즈를 이용해서 컨테이너를 운영하고 빌드하는 방법을 다룬다. docker-compose(도커컴포즈) docker-compose를 이용한 컨테이너 실행 docker-compose 동작 예제 docker-compose(도커컴포즈) 개념 도커의 CI로서 여러 컨테이너를 일괄적으로 정의하고 실행,관리할 수 있는 툴 (각 컨테이너에 대한 명령을 내리면 실행해주는 애) cf) CI/CD CI(지속적인 통합. Continuous Integration) 개발자를 위한 빌드/테스트 자동화 프로세스 효과 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해..

    [따배도] 9장 - 컨테이너간 통신(네트워크)

    주제 컨테이너 통신 원리 컨테이너의 통신 방법 사용자 정의 브릿지 네트워크 컨테이너간의 통신 네트워킹 구조 CNM(Container Network Model) Docker Network의 근본적인 아웃라인을 잡는 디자인 스펙인 설계문서 역할 Container network 를 제공하는 데 필요한 단계(Step)를 정의 다수의 네트워크 드라이버를 지원하기 위해 필요한 추상화를 제공 ⇒ 격리된 것과 같은 네트워크 구조를 구성하고 설정에 따라 로컬/원격 컨테이너와의 통신을 가능하게 함 구성 Sandbox container 의 격리된 Network Stack으로 네트워크 스택 구성을 포함한다. container network interface, routing table 및 DNS 설정 관리 등을 할 수 있고 많..

    [따배도] 8강 - 컨테이너 스토리지 관리

    [따배도] 8강 - 컨테이너 스토리지 관리

    주제 컨테이너 볼륨 컨테이너에서의 영구적 데이터 보존법 컨테이너간의 데이터 공유법 Docker 컨테이너의 생명 주기와 관계없이 데이터를 영속적으로 저장할 수 있도록 Docker는 두가지 옵션을 제공하는데 첫번째는 Docker 볼륨(volume), 두번째는 바인드 마운트(bind mount)입니다. 컨테이너 볼륨 RW Layer 위의 mysql 폴더에 있는 수많은 데이터들 저장되는 파일의 속성 도커호스트 안에 있는 컨테이너 이미지 - ReadOnly(RO) 컨테이너 - ReadWrite(RW) 실행하면서의 변화 컨테이너 이미지 → 컨테이너 RO Layer 위에 RW Layer 추가 ⇒ 컨테이너에 추가되는 모든 데이터들은 RW Layer 에 쌓이게 된다. ⇒ Union File System (=overlay..

    [따배도] 7강 - 컨테이너 리소스 관리

    [따배도] 7강 - 컨테이너 리소스 관리

    주제 Docker Command를 통한 컨테이너 HW 리소스 제한 컨테이너 모니터링 방법 Docker Command를 통한 컨테이너 HW 리소스 제한 기본으로 컨테이너는 호스트 하드웨어 리소스(CPU, 메모리, 디스크) 의 사용 제한을 받지 않음 ⇒ 용량 제한 안걸어두면 모든 자원을 다 사용 가능함 ⇒ 특정 컨테이너가 독점 가능 ⇒ 다른 컨테이너들은 상대적으로 적은 리소스 사용 => 형평성 어긋 ⇒ 컨테이너가 필요로 하는 만큼의 리소스만 할당해야함 docker run 명령어로 동작되는 컨테이너에다가 옵션을 준다. 제한 가능한 HW 리소스 CPU Memory 블럭(Disk) I/O Memory 리소스 제한 옵션 제한 단위 : b,k,m,g --memory 혹은 -m + 숫자 컨테이너가 사용할 최대 메모리 ..

    [따배도] 6강 - 컨테이너 사용하기

    주제 컨테이너 이미지 관리 명령어 컨테이너 이미지 라이프 사이클 관련 명령어 동작중인 컨테이너 관리 명령어 컨테이너 이미지 관리 명령어 이미지 검색 docker search [옵션] ex) docker search nginx automated : 자동 빌드 여부 컨테이너 이미지 앞에 “특정이름/” 이게 있으면 특정 커뮤니티나 벤더나 개인이 올린 레파지토리 official : 도커허브가 관리하는, 믿을 수 있는 컨테이너 다운로드 docker pull [옵션] ex) docker pull nginx 버전 다른 거 받아오면 이미지 아이디는 같지만 버전 태그가 다르기 땜에 서로 다른 게 생기게 되는 것임 다운받은 이미지 목록 출력 docker images ex) docker images --no-trunc옵션 ..

    [따배도] 5강 - 컨테이너 Registry

    주제 컨테이너 Registry의 개념 Public Docker Registry Private Docker Registry 컨테이너 Registry 개념 컨테이너 Registry : 여러 개의 컨테이너 이미지 보관창고 ==Docker Registry 종류 Dokcer hub : hub.dokcer.com가 운영하는 public 저장소 Private Registry : 사내 컨테이너 private 저장소 원리 도커호스트 장비에 컨테이너 빌드한 게 있는데 도커 푸시명령으로 도커 레지스트리에 업로드 하는 것. 태그 안달면 도커닷컴이 직접 운영하는 컨테이너가 되는거고 앞에 레파지토리를 붙여줘야 내 레파지토리라는 게 되므로 이름 꼭 붙여줘야한다. Public Docker Registry : hub.dokcer.co..

    [따배도] 4강 - 도커 컨테이너 만들어보기

    주제 무엇을 컨테이너로 만드는지? DockerFile을 통해 도커컨테이너 만들기 컨테이너 배포 방법 무엇을 컨테이너로 만드는지? 컨테이너 : 개발한 어플리케이션(실행파일) + 운영환경을 갖춘 독립된 공간 ⇒ 개발한 프로그램, 실행환경을 만들어냄 특징 MSA 환경의 Polyglot(폴리글랏) 애플리케이션 운영이 가능 cf) Polyglot 다양한 언어를 사용하여 프로그래밍 하는 것 ⇒ 각각의 어플리케이션 서비스에 맞춰 컨테이너를 만들어낸다. ⇒ 짧은 라이프사이클에 대응 가능 수정할 컨테이너가 있으면 그 컨테이너만 수정하면 된다. 많은 서비스 제공 가능 EX) 이커머스플랫폼 각각의 기능에 따라 적합한 다른 언어들을 써서 구현해내는 것. DockerFile을 통해 도커컨테이너 만들기 DockerF..

    [따배도] 3강 - 도커 컨테이너 살펴보기

    주제 컨테너와 컨테이너 이미지가 어떤 구조로 만들어져있고 둘 간의 차이점 컨테이너가 어떤 형태로 동작되는지 전체적인 흐름을 본다. 컨테이너와 컨테이너 이미지의 구조 용어 컨테이너 이미지(readonly) = 디스크에 이미지의 레이어별로 저장되는 파일 형태의 이미지 = 여러개(1개도 가능)의 레이어로 구성된 컨테이너 이미지 = 컨테이너 실행을 위해 필수적인, 하나의 어플리케이션이 잘 실행될 수 있도록 모아져있는 이미지들의 조합 컨테이너(read&write) 도커플랫폼 위에서 컨테이너 이미지를 실행한, 동작중인 프로세스. ⇒ 메모리에서 하나의 애플리케이션 프로세스로 러닝중인 것 도커 허브(hub.docker.com) docker.com에서 제공해주는 허브. 또는 커스텀 허브(회사에서 자기네 환경..