볼륨

만약 도커로 데이터베이스 컨테이너를 실행해 애플리케이션을 구동한다 했을 때 해당 데이터베이스 컨테이너가 삭제된다면 데이터도 삭제가 되고 복구할 수 없게 된다. 이런 경우에 데이터를 유지를 위한 몇 가지 방법이 있는데 그중 가장 활용하기 쉬운 방법이 볼륨 활용이다. 볼륨을 활용하는 방법은 여러 가지가 있다. 1. 호스트 볼륨 공유 호스트 볼륨 공유는 호스트화 컨테이너의 볼륨을 공유하는 것이다. 만약 MySQL 컨테이너를 사용해 애플리케이션을 구동한다 했을 때 호스트와 MySQL에서 데이터를 저장하는 볼륨을 공유할 수 있다. $ docker run -d \ --name mysql \ -e MYSQL_DATABASE=sample \ -e MYSQL_ROOT_PASSWORD=password \ -v /home/..
퍼시스턴스 볼륨 API 구현 예시 컨테이너를 지워도 데이터를 잃지 않기 위해서는 퍼시스턴트 볼륨을 사용해야 한다. 앞에 작성한 환경 변수 API 구현 예시에서 만든 my_daemon을 수정해서 퍼시스턴스 볼륨 API 예시를 구현해보자 외부 저장소를 마운트한 디렉터리에 데이터를 쓰도록 바꾸었다. 다시 이미지를 생성하고 컨테이너를 실행해보자 호스트상에 퍼시스턴트 볼륨으로 마운트할 디렉터리를 만든다. -v 호스트절대경로:컨테이너내경로로 볼륨의 path를 설정한다. 다른 터미널에서 컨테이너를 중지하고 다시 재기동 한다. COUNT가 이어서 출력되는것을 확인할 수 있다. 그럼 아예 컨테이너를 삭제 후 다시 컨테이너를 실행해보겠다. 삭제 후 컨테이너를 다시 생성해 시작해도 COUNT가 이어서 출력되는것을 확인 할 ..
컨테이너 API의 종류와 개요 컨테이너 API란 컨테이너를 블랙박스처럼 다룰 수 있게 해주는 인터페이스이다. 소프트웨어에서는 서로 다른 팀이 개발한 프로그램들을 연결하기 위해 서로 지켜야 하는 규격을 인터페이스라 한다. 따라서 API는 대상이 되는 프로그램을 블랙박스로 취급하여 다른 프로그램에서 호출할 수 있게 해준다. 이는 쿠버네티스 환경에서도 사용된다. 컨테이너 API는 몇 가지 종류가 있으며, 각각의 목적과 사용법이 다르다. 모든 API를 필수적으로 알고 구현해야 되는 것은 아니다. 애플리케이션의 특성에 맞게 적절한 API를 선택하여 구현하면 된다. 컨테이너 기동 컨테이너 내의 애플리케이션은 기동 시에 환경 변수나 실행 인자를 읽어서 그에 맞게 동작하게 만들 수 있다. 헬스 체크(쿠버네티스 환경) ..
파드란? 파드는 쿠버네티스에서 컨테이너를 실행하는 최소 단위로 한개 혹은 여러 개의 컨테이너를 포함한다. 하나의 파드에 속하는 모든 컨테이너들은 같은 노드에서 동작한다. 파드는 다음과 같은 특징을 가진다. 컨테이너 재사용 촉진을 위한 플랫폼 파드는 하나의 목적을 위해 만들어진 컨테이너를 부품처럼 조합할 수 있도록 설계되었다. 파드 내부의 컨테이너들은 파드의 IP 주소와 포트번호를 공유한다. 파드의 내부 컨테이너들은 localhost로 서로 통신할 수 있다. 파드의 내부 컨테이너들은 System V 프로세스 통신이나 POSIX 공유 메모리를 사용하여 서로 통신할 수 있다. 파드의 내부 컨테이너들은 파드의 볼륨을 마운트하여 파일 시스템을 공유할 수 있다. 이 기능들은 같은 파드 내의 컨테이너 사이에서만 가능..
beekei
'볼륨' 태그의 글 목록