목차 컨테이너 오케스트레이션 도구는 쿠버네티스 밖에 다뤄보지 않았다. Docker Swarm은 그냥 말만 들어보고 정확히 이론조차 알지 못하였는데 이번 시간에 간단하게 Swarm에 대해 알아보고 다뤄보려고 한다. 기존에 Docker Swarm과 비슷한 ECS를 다뤄보아서 이해하는데에는 큰 어려움이 없었다.Docker SwarmDocker Swarm은 Docker에서 제공하는 클러스터링 및 스케일링 도구로, 여러 Docker 호스트들을 하나의 클러스터로 결합하여 컨테이너를 관리하고 배포할 수 있는 기능을 제공한다. Docker Swarm을 사용하면 컨테이너를 클러스터의 여러 노드에 걸쳐 배포하여 고가용성(HA)과 확장성(스케일링)를 구현할 수 있다는 점이 일반 Docker와 다르다. 굳이 크게 쿠버네티스와..
DockerfileDockerfile은 Docker 이미지를 생성하는 데 필요한 명령어를 정의한 파일이다. 애플리케이션 환경을 설정하고 필요한 라이브러리나 의존성을 설치하며, 애플리케이션을 컨테이너 안에서 실행할 수 있도록 준비하는 과정을 정의한다. 1. MAINTAINERDocker 이미지의 작성자 정보를 명시한다.MAINTAINER yourname@example.com2. LABEL이미지에 메타데이터를 추가할 수 있는 명령어이다. 예를 들어 작성자나 버전 정보를 태그로 넣을 수 있다.LABEL maintainer="yourname@example.com"LABEL version="1.0"3. RUN컨테이너 안에서 명령을 실행하고 그 결과를 이미지에 포함한다. 주로 의존성 설치나 파일 설정을 위해 사용된..
목차 컨테이너에 대한 CPU, MEM, Disk에 대한 자원 관리에 대해 공부해보겠다. CPU 리소스 제한CPU자원을 어떤 프로세스에 얼마나 할당하는지 정하는 것은 컨테이너를 관리하는데 매우 중요한 부분을 차지한다. MEM, Disk도 마찬가지이다. CPU 사용량 제한을 위해 CFS 스케줄러를 사용한다. 말 그대로 모든 프로세스가 공평하게 CPU사용 시간을 제공 받오록 하는 OS알고리즘이라 한다. 컨테이너 CPU리소스를 제한하기 위한 몇 가지 옵션이 있다. --cpu-shares이 옵션은 컨테이너 간 CPU 사용 우선순위를 조절하는 데 사용된다. 기본값은 1024이며, 이 값은 상대적이다.docker run -d --name cpu_1024 --cpu-shares 1024 leecloudo/stress:..
목차 Docker Network 구조에 대해선 대강 알았는데 이 기회에 Docker Network구조에 대해 자세히 공부를 해보도록 하겠다. Docker NetworkDocker network에서 가장 핵심적인 단어를 뽑자면 CNM (Container Networking Model), Bridge네트워크를 기본적으로 알아야한다.CNM (Container Networking Model)Docker가 사용하는 기본 네트워크 모델이다. CNM은 세 가지 기본 구성 요소로 나뉜다Sandbox: 각 컨테이너마다 고유의 네트워크 스택을 제공하는 곳이다. IP 주소, 라우팅 테이블, 방화벽 규칙 등이 여기에 들어간다.Endpoint: 네트워크 상의 장치 역할을 한다. 각 컨테이너는 네트워크에 접속할 때, 이 엔드포인..
목차Docker를 실무에서도 많이 다뤄보았지만 Docker를 하면서 내가 부족한 부분을 보충하고 도커의 컨테이너 프로세스에 대한 개념을 다시 다지기 위해서 Docker에 대한 블로그를 정리해보려한다.DockerDocker는 애플리케이션을 컨테이너 단위로 패키징하고 실행할 수 있도록 해주는 플랫폼이다. 이러한 특성 덕분에, 각 기능을 독립적인 서비스로 분리하여 운영하는 MSA(Microservice Architecture) 환경에서 효율적으로 애플리케이션을 관리하고 배포할 수 있다.가상화가상화(Virtualization)는 서버, 스토리지, 네트워크, 애플리케이션 등 물리적 하드웨어 리소스를 소프트웨어적으로 추상화하여 효율적으로 사용할 수 있게 하는 기술이다. 이를 통해 기업은 자원을 더 효율적으로 활용하..