목록Docker (7)
이열매의 메모장
도커 개요 도커는 어플리케이션 개발, 전송, 실행을 위한 플랫폼입니다. 도커를 이용하면 어플리케이션을 인프라와 분리하여 빠르게 소프트웨어를 배포할 수 있습니다. 또한, 어플리케이션 관리와 동일한 방식으로 인프라 관리 또한 가능합니다. 도커를 활용하면 개발과 제품 배포 간 지연 시간을 단축할 수 있습니다. 도커 플랫폼이란 도커는 독립적인 환경에서 어플리케이션을 패키지하고 실행하는 컨테이너를 제공합니다. 이러한 독립성과 보안성 덕분에 사용자는 한 호스트 내에서 다수의 컨테이너를 동시에 실행할 수 있습니다. 컨테이너는 VM 사용 방식과 달리 호스트 머신의 커널을 직접적으로 실행하여 추가적인 하이퍼바이저를 적재할 필요가 없기 때문에 가볍습니다. 이는 사용자가 가상 머신을 사용하는 것보다 같은 하드웨어에서 더 많..
도커 사용 시, 하나의 컨테이너가 실행되기 위해서는 여러 이미지(적어도 도커파일에서 정의한 RUN 명령어 개수만큼의)가 필요하다. 이 때, 해당 캐시는 /var/lib/docker 에 기본 설정 경로로 저장이 되는데, 이미지 변경과 컨테이너 배포 및 삭제를 반복하게 되면 차지하는 용량이 어마어마하다. 심지어 루트 파티션의 용량이 적을 경우엔 tab키마저 먹지 않는 용량 문제에 접하게 된다. 이러한 경우, 루트 파티션을 사용하지 못하도록 컨테이너 저장 경로를 바꿔줘야 한다. 경로를 변경하여 지정하는 방법에는 두 가지가 있는데, 1. 도커 데몬 설정 파일 변경 과 2. 도커 실행 서비스 설정 변경 이 있다. 1번의 경우는 도커 데몬의 설정 파일에 경로를 넣어주는 것이고, 2번의 경우는 도커를 실행하는 명령어..
자동 빌드 정의 github에 dockerfile 올릴 경우, 연동되어 있는 docker hub의 레포지토리에서 해당 도커 파일로 이미지를 자동 빌드 로컬에서는 dockerfile만 생성하여 github에 올리고, 해당 이미지가 필요할 경우 docker hub에서 가져와 사용 가능 즉, 로컬에서 이미지 빌드가 생략되어 작업이 간략화 사용 방법 1. github과 docker hub 연동 a) 레포지토리 생성 시 연동할 경우 docker hub 에서 Create Repository 버튼 클릭 하단 폼의 Build Settings (Optional)에서 Github의 고양이 아이콘을 누르기 Github 계정에 로그인하여 Authorize docker 를 허용 연동한 github 계정의 어떠한 레포지토리와 연..
도커 커뮤니티 엔진 시작하기 : 도커 엔진을 설치하는 데에는 RPM 패키지를 이용하거나 도커 공식 홈페이지에서 다운받는 등 여러가지 방법이 있다. 여기에서는 가상머신에서의 사용을 위해 도커 레포지토리를 통해 설치하도록 하자. 설치하는데 필요한 패키지 설치 $ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 stable 한 레포를 사용하기 위해 설정 $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 도커 커뮤니티 엔진 설치 $ sudo yum install docker-ce docker-ce-cli contai..
kubernetes 개념 분산 오픈소스 컨테이너 관리 환경 기능 컨테이너 서비스 네트워크 검색 및 트래픽 로드 밸런싱 저장 공간 자동 마운트 롤아웃/롤백 자동화 컨테이너 자동 복구 노드 클러스터에서 사용하는 컨테이너 리소스 최적화 보안 정보 저장 및 관리 클러스터 기술 여러 대의 컴퓨터가 네트워크를 통해 연결되어 하나의 단일 컴퓨터처럼 동작 서버에서 부하 분산 기능에 사용 컨테이너 오케스트레이션 스케줄링 (Scheduling) 여러 호스트에 컨테이너를 분배하고 컨테이너나 호스트의 장애 시 재분배 네트워킹 (Networking) 여러 호스트에 분산된 컨테이너 간의 네트워크와 L4/L7을 지원 로깅 (Logging) 동적인 컨테이너들의 통합 로그 조회 모니터링 (Monitoring) 분산되어 있는 컨테이너들..
도커(Docker) 이미지란? 특정 프로세스를 실행하기 위한 환경 애플리케이션 실행에 필요한 코드, 실행 환경, 라이브러리, 환경 변수, 설정값 등을 포함 상태 값이 없고 변하지 않음 -> 배포/롤백이 손쉬움 컨테이너란? 실행 가능한 이미지의 인스턴스 격리된 공간에서 프로세스가 동작하여 빠른 속도 커널까지 통째로 가상화하는 Hypervisor와 달리 파일시스템만 가상화 OS, 라이브러리, 어플리케이션을 하나로 패키징 어플리케이션과 라이브러리를 패키징하므로 의존성 문제 ↓ OS와 관계없이 독립적인 실행이 가능 서비스 배포/롤백이 가장 큰 특징 컨테이너 기술 요소 Namespace 프로세스 별로 네트워크 리소스(네임 스페이스) 격리 네임 스페이스 종류 Mnt : 파일 시스템 마운트 Pid : 독립적인 프로세..