Container 기술
- 컨테이너란 뭐에요?
- 컨테이너는 앱을 실행하는 데 필요한 모든 걸 담은 작은 상자 같아요. 앱을 돌리는 데 필요한 코드, 프로그래밍 언어, 라이브러리 같은 것들이 포함돼 있죠.
- Docker에서는 'Dockerfile'이라는 걸 사용해서 이런 컨테이너를 만들어요.
- 컨테이너는 어떤 점이 좋나요?
- 컨테이너는 컴퓨터 자원(예를 들어 CPU나 메모리)을 여러 앱들과 나눠 쓸 수 있게 해줘요.
- 앱을 컨테이너에 넣으면 그 컨테이너가 어디에서 실행되든 똑같이 잘 돌아가요. 이건 마치 앱을 작은 상자에 넣어서 어디든 가져갈 수 있는 것과 비슷해요.
- 컨테이너는 서로 독립적이라서 한 컨테이너가 문제가 생겨도 다른 컨테이너에는 영향을 주지 않아요.
이렇게 컨테이너 기술을 사용하면 앱을 더 안정적이고 효율적으로 관리하고 실행할 수 있어요. 컨테이너 덕분에 앱을 어디서든 쉽게 실행하고 관리할 수 있죠.
Container 이점
- 경량화란?
- 컨테이너는 컴퓨터의 운영체제(OS)를 여러 앱과 공유해요. 그래서 각 앱마다 따로 운영체제를 설치할 필요가 없어요. 이 덕분에 컨테이너 파일은 작고 가볍습니다. 그리고 크기가 작아서 빨리 시작할 수 있어요.
- 이동성과 플랫폼 독립성이란?
- 컨테이너는 앱을 실행하는 데 필요한 모든 것을 함께 담아요. 그래서 한 번 만든 앱을 노트북이든, 클라우드든, 다른 컴퓨터든 재설정 없이 그대로 옮겨 실행할 수 있어요.
- 현대적인 개발 및 아키텍처 지원이란?
- 컨테이너는 크기가 작고 여러 플랫폼에서 잘 작동해서 최신 개발 방식과 앱 패턴에 잘 맞아요. 이게 무슨 말이냐면, 새로운 코드를 조금씩 추가하거나 업데이트할 때 매우 유용하다는 거예요.
- 사용률 향상이란?
- 개발자와 운영자는 컨테이너를 사용해서 컴퓨터의 CPU나 메모리를 더 효율적으로 쓸 수 있어요. 앱의 각 부분을 따로따로 배치하거나 크기를 조절할 수 있기 때문에, 전체 앱을 확장하는 것보다 더 유연하게 관리할 수 있어요.
이렇게 컨테이너를 사용하면 앱을 가볍고 유연하게 만들 수 있고, 어디서든 잘 돌아가게 할 수 있어요. 현대적인 개발 방식에도 잘 맞고, 컴퓨터 자원도 더 잘 활용할 수 있죠.
Container 용도
- 마이크로서비스에 좋아요: 컨테이너는 작고 가벼워서, 앱을 여러 작은 부분으로 나누어 관리하는 마이크로서비스 아키텍처에 딱 맞아요. 각 부분이 서로 독립적으로 잘 돌아가게 할 수 있죠.
- DevOps에 유용해요: 소프트웨어를 만들고 운영하는 방식인 DevOps를 사용하는 팀에게 컨테이너는 아주 유용해요. 마이크로서비스 아키텍처와 잘 맞아서, 앱을 더 빠르고 효율적으로 개발하고 배포할 수 있어요.
- 하이브리드, 멀티클라우드에 이상적이에요: 컨테이너는 어디서든 잘 돌아가요. 노트북이든, 회사 데이터 센터든, 클라우드든 상관 없어요. 이런 점 때문에 여러 클라우드 서비스를 섞어 쓰는 하이브리드나 멀티클라우드 환경에서도 잘 맞아요.
- 클라우드 마이그레이션에 도움돼요: 많은 기업이 클라우드로 옮겨가면서 앱을 컨테이너로 바꾸는 방법을 많이 써요. 이렇게 하면 앱을 클라우드로 쉽게 옮길 수 있고, 관리도 편해져요.
이렇게 컨테이너는 마이크로서비스, DevOps, 클라우드 환경에 매우 유용해요. 앱을 더 잘 관리하고, 어디서든 잘 돌아가게 할 수 있어서, 현대적인 소프트웨어 개발에 큰 도움이 되죠.
Container의 발전


Docker Architecture

'AWS > Docker+CICD' 카테고리의 다른 글
| Docker Image 심화 (0) | 2024.04.08 |
|---|---|
| Docker Network (0) | 2024.04.08 |
| Docker의 고급사용법 (Docker volume) (0) | 2024.04.05 |
| Github Actions, github repository 그리고 AWS ec2 간단 사용법. (0) | 2024.04.05 |
| Docker 모니터링&로깅 (1) | 2024.04.05 |