일회용품 도커 컨테이너
컨테이너는 쉽게 만들 수 있다.
그래서 컨테이너 하나를 업데이트하면서 계속 사용하는 것 보다는 업데이트된 SW가 들어있는 새로운 컨테이너
를 사용하는 게 더 좋다.
즉, 새 버전이 나오면 새 컨테이너로 갈아타면 된다.
컨테이너는 일반적으로 여려 개가 동시에 동작하는 상황이 많이 나타난다.
이러한 여러 개의 컨테이너를 일일이 업데이트하고 유지보수 할 때 마다 많은 수고가 필요하다.
때문에 오래된 컨테이너를 버리고 새로운 이미지
로 부터 새로운 컨테이너
를 만들어 갈아타는 방식을 사용한다.
이와 같이 컨테이너를 만들고(create)
, 실행하고(run & start)
, 종료하고(stop)
, 폐기한(remove)
한 다음
컨테이너를 다시 만드는 일련의 과정을 컨테이너의 생명 주기(LifeCycle)
라고 한다.
데이터 저장
컨테이너를 위와 같이 폐기
한다면 그 안에 들어있던 데이터들은 당연히 삭제될 것이다.
그래서, 컨테이너 안에 있는 데이터
를 도커가 설치된 물리적 서버의 디스크를 mount해서 해당 디스크에 저장한다.
마운트(mount)
란 디스크와 연결해서 데이터를 기록할 수 있도록 한 상태를 의미한다.
컴퓨터에 외장 USB 메모리나 HDD를 연결하듯이 도커 컨테이너도 물리적 컴퓨터의 디스크를 연결해 데이터를 기록할 수 있다.
이러한 방법을 통해 컨테이너가 삭제되더라도 데이터는 컨테이너 외부에 위치해있기 때문에 사라지지 않는다.
이렇게 데이터를 외부에 저장해놓으면 다른 컨테이너와 데이터를 공유
할 수 있다는 장점도 존재한다.
이러한 특징 덕분에 컨테이너의 생애주기가 원할하게 동작할 수 있는 것이다.
- OS나 SW과 관련된 부분은 컨테이너 형태로 만들었다가 쓰고 버리는 것을 반복
- 데이터를 다른 곳에 저장함으로써 결국 같은 데이터를 계속 사용할 수 있다
도커의 주된 용도
1) 팀원 모두에게 동일한 개발환경 제공 가능 (= 동일한 환경을 여러 개 만들 때)
2) 새로운 버전의 테스트
OS나 라이브러리 등의 새로운 버전 또는 변경된 버전을 먼저 개발환경에서 테스트
한 후 운영환경에 적용할 때
도커를 사용할 수 있다.컨테이너 형태
를 유지하는 한 도커 엔진
을 통해 구동되기 때문에 물리서버와의 상성
은 고려하지 않아도 된다.
3) 동일한 서버가 여러 대 필요한 경우
이런 경우는 컨테이너를 이용해서 1대의 물리서버에 똑같은 서버를 여러 개 만들 수 있다.
이렇게 하면 편하게 관리할 수 있고 컨테이너를 여러 개 공유하므로 비용도 절약할 수 있다.
이 밖에도 스케일링에 유리해서 웹서버
, API 서버
로도 활용되는 등 다양한 활용방법이 있다.
'Docker' 카테고리의 다른 글
[Docker] 4-2. 컨테이너 실행 (0) | 2023.05.20 |
---|---|
[Docker] 4-1. 컨테이너 실행 (0) | 2023.05.20 |
[Docker] 2-2. 도커 허브, 이미지, 컨테이너 (0) | 2023.05.17 |
[Docker] 2-1. 도커의 동작 원리 (0) | 2023.05.17 |
[Docker] 1-2. 서버와 도커 (0) | 2023.05.16 |