Docker Hub가장 많이 사용되는 Public Image Registry로 깃허브가 소스코드를 저장하는 저장소라면,도커허브는 이미지를 저장하는 저장소를 뜻한다. 즉, 깃 허브에는 소스 코드만 보관하고, 도커 허브에는 이 소스 코드를 사용해서 만들어진 애플리케이션과 애플리케이션을 실행할 수 있는 환경이 모두 포함되어 있는 이미지를 저장한다. 이미지 레지스트리의 역할 - 이미지 공유 : 이미지를 다운로드하고 업로드 하는 기능 제공 - 이미지 검색 : 이미지 레지스트리에 있는 이미지 검색하고 필요한 이미지 찾을 수 있음 - 이미지 버전 관리 : 버전별로 이미지를 관리하기 때문에, 특정 버전의 이미지를 사용자가 지정하여 다운로드 가능 - 보안 : 원하는 사용자만 이미지를 다운받을 수 있도록 인증 처리와 권한..
Docker
메타데이터 - 데이터에 대한 데이터 - 이미지가 실제로 압축된 데이터라면, 메타데이터는 이미지에 대한 정보를 기술하는 데이터를 뜻한다. ex) 이미지에 대한 이름 및 사이즈 등의 정보를 담고있음 - Env: 소프트웨어가 실행할 때 사용할 설정 정보 1) VERSION=1.23.2에서 '='를 기준으로 왼쪽이 키, 오른쪽이 값을 의미한다. - 이미지를 컨테이너로 실행할 때, CMD에 있는 명령어를 통해서 어떤 프로그램을 실행할지를 메타데이터에서 결정한다. - 지정한 이미지의 압축파일과 이미지의 메타데이터를 사용해서 격리된 공간인 컨테이너를 만들어낸다. docker inspect1. 이미지의 메타데이터 등 세부 정보 조회docker image inspect {이미지명} - 이미지의 ID, ..
기존 서버에서 프로그램이 실행되던 방식 - 하드웨어가 필요하고, 하드웨어에서 실행할 소프트웨어가 필요하다. - 하지만 소프트웨어를 실행하기 위해서는 하드웨어 사용에 필수적인 OS가 필요하고, 일반적으로 소프트웨어는 특정 패키지나 라이브러리의 의존성을 갖고있음 - 또한 실행을 위해 JVM 과 같은 런타임이 필요할 수도 있음 => 즉, 서버에서 프로그램을 실행하기 위해서는 OS, 설정에 필요한 언어, 라이브러리 등의 설정 구성, 실행시킬 프로그램이 필요 이미지란? - 파일 시스템이 특정 시점을 저장해둔 압축 파일 - 제작 단계에서 소프트웨어뿐만 아니라, 소프트웨어가 실행하기 위해 필요한 모든 요소를 미리 압축해 놓은 파일 - 즉, OS, 설정에 필요한 구성요소, 실행시킬 프로그램이 포함되어 있..
도커(DOCKER)컨테이너 가상화 기술을 사용하기 위한 2013년에 공개된 오픈소스 소프트웨어- 커널의 컨테이너 가상화 기술을 사용자가 쉽게 활용할 수 있게 해준다.- 도커와 같은 컨테이너 가상화 도구를 컨테이너 플랫폼이라고 한다. 컨테이너 플랫폼 구성"컨테이너 엔진 + 컨테이너 런타임"으로 구성1) 컨테이너 엔진 : 사용자의 요청을 받아서 컨테이너를 관리하는 역할 수행2) 컨테이너 런타임 : 직접 커널과 통신하면서 실제로 격리된 공간을 만드는 역할 수행 - 도커는 runc라는 컨테이너 런타임을 사용한다.- 도커는 가장 점유율이 높은 컨테이너 플랫폼- 가장 빨리 출발했기 때문에 레퍼런스도 많고 문서도 잘 구성되어 있다. 도커 아키텍처- 도커는 클라이언트 서버 모델로 실행된다.- 사용자의 명령을 전달해주는..
하이퍼바이저 가상화 방식 vs 컨테이너 가상화 방식1. 하이퍼바이저 가상화 : 하이퍼바이저라는 소프트웨어가 격릭된 공간을 만들어 주었음2. 컨테이너 가상화 : LXC 기술을 사용하여 호스트 OS 커널의 자체 기능만을 사용하여 격리된 공간을 만듦 주요 단어- LXC : 리눅스 커널의 Namespace, Cgroups라는 기능을 활용하여 컨테이너 가상화를 제공- Namespace : 프로세스, 하드드라이브, 네트워크, 사용자, 호스트 네임 처럼 리소스를 나누는 기준의 역할 수행- Cgroups : 프로세스가 사용하는 메모리, CPU, 하드디스크, 네트워크 밴스위스처럼 리소스의 사용량을 배분하는 기술- 컨테이너 : LXC 기술을 사용하여 만들어진 각각의 격리된 공간 -> 즉, 컨테이너 가상화란 하이퍼바이저 ..
‘가상’ 의 사전적 의미철학 주관적으로는 실제 있는 것처럼 보이나 객관적으로는 존재하지 않는 거짓 현상 가상화 컴퓨팅 기술실제로 존재하는 컴퓨터가 아니지만 마치 존재하는 것처럼 만들어주는 기술하나의 컴퓨터에서 여러 대의 컴퓨터를 실행할 수 있음컴퓨터의 성능이 좋을 수록 더 많은 컴퓨터 실행 가능 하나의 컴퓨터에서 여러 서버 프로그램을 실행하였을 경우?하나의 프로그램에서 문제가 생기면, 다른 프로그램에도 영향을 끼칠 수 있다.예로 하나의 프로그램의 사용량이 급증해 리소스를 소모하게 된다면, 다른 프로그램의 운영에도 영향을 끼치게 된다. 하나의 컴퓨터에서 가상 환경으로 여러 프로그램을 실행시키면?하나의 프로그램에서 에러가 발생해도, 다른 프로그램에 영향을 끼치지 않음하나의 환경에서 리소스 사용이 급증해도, ..