쿠버네티스에서는 컨테이너 애플리케이션의 기본 단위를 파드라고 부른다.

 

쿠버네티스가 파드를 사용하는 이유는, 대표적으로 여러 리눅스 네임스페이스를 공유하는 여러 컨테이너들을 추상화된 집합으로 사용하기 위함이다. 그 말은 즉, 파드에 속한 여러 개의 컨테이너들은 동일한 네트워크 환경을 가진다는 것을 의미한다.

 

왜 하나의 파드에 여러 개의 컨테이너가 포함되는지 의문을 가질 수 있다. 실제로 대부분은 하나의 파드를 하나의 컨테이너로 구성한다.

 

하나의 파드는 하나의 완전한 애플리케이션이라는 점을 주목하자. 가령 어떤 Nginx 컨테이너가 로그 수집과 같은 부가적인 기능을 필요로 할 수 있다. 이런 경우 주 컨테이너는 Nginx로 하되, 기능 확장을 위한 사이드카 컨테이너를 파드에 포함시키면 된다. 

이것이 도커 컨테이너와 쿠버네티스 파드의 차이점이다.

 

참고자료

  • 시작하세요! 도커/쿠버네티스 책

지속적인 보완이 필요한 글

 

Dockerfile이란 이미지 생성을 위해 컨테이너에 설치해야 하는 패키지, 추가해야 하는 소스코드, 실행해야 하는 명령어와 셸 스크립트 등의 일련의 작업들을 기록한 파일이다. 애플리케이션 개발 용도 이외에도, 도커 허브에 이미지 대신 생성 방법을 기록한 도커파일을 배포하는 경우도 있다.

 

초기 이미지를 바탕으로, 컨테이너 내부에서 애플리케이션을 위한 환경을 구성한 뒤에 커밋하는 방법도 있다. 하지만 아래의 장점으로 인해, Dockerfile을 사용하는 것이 좋다.

  1. 이미지 생성 방법의 기록. 패키지 생성과 같이, 애플리케이션에 필요한 일련의 과정을 명확하게 표현할 수 있음
  2. 이미지 생성 자동화
  3. 쉽게 배포 가능

참고자료

'인프라 > 도커' 카테고리의 다른 글

docker /var/run/docker.sock 심볼릭 링크 문제  (0) 2023.06.11
볼륨  (0) 2023.06.11
도커 엔진과 구조  (1) 2023.06.11
도커  (0) 2023.06.11

컨테이너에 변경 사항을 저장하면, 컨테이너 삭제 시 데이터가 함께 삭제된다. 컨테이너와 무관하게 데이터를 관리하고 싶다면, 볼륨을 사용한다.

볼륨을 활용하는 방법으로는 1) 호스트와 볼륨을 공유, 2) 볼륨 컨테이너 활용, 3) 도커가 관리하는 볼륨을 생성하는 방법이 있다. 사실 세 방법 모두 호스트의 파일 디렉토리를 사용하며, 방법에 따라 조금씩 차이가 있을 뿐이다.

앞의 두 가지 방법도 나쁘지 않지만, 도커가 관리하는 볼륨을 사용하면 더욱 편리하다.

 

사용 방법

  1. docker volume create —name [볼륨 이름] 으로 볼륨 생성
  2. docker volume ls 로 생성된 볼륨 확인
  3. docker run -it -v [볼륨 이름]:[컨테이너의 공유 디렉터리] image 명령어를 통해, 컨테이너가 실행될 때 볼륨을 마운트해준다.
  4. docker inspect --type volume [볼륨 이름] 명령어를 통해, 볼륨이 저장되는 위치 등의 여러 정보를 확인할 수 있다. 참고로 inspect는 컨테이너, 이미지 등 도커의 모든 구성 단위의 정보를 확인할 때 사용할 수 있다.

-v 옵션 대신 —mount 옵션을 사용할 수도 있다. 서로 기능은 같되, 볼륨의 정보를 나타내는 방법이 다르기 때문에 편한 옵션으로 사용하면 된다.

 

참고자료

'인프라 > 도커' 카테고리의 다른 글

docker /var/run/docker.sock 심볼릭 링크 문제  (0) 2023.06.11
Dockerfile  (0) 2023.06.11
도커 엔진과 구조  (1) 2023.06.11
도커  (0) 2023.06.11

+ Recent posts