본문 바로가기

반응형

클라우드/도커

서비스와 스택 서비스 단일 도커 호스트에 대한 컨테이너 배포는 docker container run 명령으로 컨테이너를 일일히 실행하거나 컴포즈를 사용해 여러 컨테이너를 동시에 실행하는 방법이 있다. 어떤 특정한 문제를 해결하기 위해 만들어진 애플리케이션은 단일 컨테이너 혹은 여러 컨테이너로 구성될 수도 있으며 그것들이 복제된 집합으로 이루어졌을 수도 있다. 이렇게 애플리케이션을 구성하는 일부 컨테이너를 제어하기 위한 단위로 서비스라는 개념이 생겨났다. $ docker container exec -it manager \ > docker service create --replicas 1 --publish 8000:8000 --name echo registry:5000/example/echo:latest hbp13rv25.. 더보기
도커 스웜 컨테이너를 단일 도커 호스트에 배치하는 것은 쉽다. 그러나 많은 트래픽을 처리하는 시스템들은 대개 여러 컨테이너가 각기 다른 호스트에 배치된다. 도터 스웜은 여러 도커 호스트를 클러스터로 묶어주는 컨테이너 오케스트레이션 도구의 한 종류다. 이런 컨테이너 오케스트레이션 도구 없이는 도커 호스트 여러 대를 사용하는 확장성 있는 애플리케이션을 만들기가 매우 어렵다. 어느 도커 호스트에 어떤 컨테이너를 배치해야 하는지, 서로 다른 호스트에 위치한 컨테이너 간의 통신은 어떻게 제어하는지 등의 조율을 오케스트레이션 도구 없이 하기 힘들다. 이름 역할 대응하는 명령어 컴포즈 여러 컨테이너로 구성된 도커 어플리케이션을 관리(주로 단일 호스트) docker-compose 스웜 클러스터 구축 및 관리(주로 멀티 호스트) .. 더보기
컨테이너 실전 구축 및 배포 도커를 사용하여 시스템을 구성한다는 것은 자신이 만든 애플리케이션 컨테이너와 도커 허브에 공개된 애플리케이션이나 미들웨어 이미지로 만든 컨테이너가 서로 협력하는 스택을 구축하는 것이다. 실제 운영에서는 애플리케이션을 컨테이너 안에 어떻게 배치하는지가 매우 중요하다. 컨테이너 하나가 맡을 수 있는 적정 수준의 책임 등 다양한 측면을 고려해야한다. 1. 컨테이너 1개 = 프로세스 1개? 도커는 애플리케이션 배포에 특화된 가상화 기술이기 때문에 웹 애플리케이션과 상주 애플리케이션 프로세스 하나를 하나의 컨테이너로 만드는 방식이 괜찮게 생각될 수 있다. 만약, 정기적으로 어떤 작업을 실행하는 컨테이너의 경우 스케줄러와 작업이 합쳐진 애플리케이션을 만든다면 컨테이너 1개 = 프로세스 1개 원칙을 지킬 수 있다. .. 더보기
도커 컴포즈로 여러 컨테이너 실행하기 시스템은 일반적으로 단일 애플리케이션이나 미들웨어만으로 구성되는 것이 아니다. 웹 애플리케이션은 리버스 프록시 역할을 하는 웹 서버를 프론트엔드에 배치하고 그 뒤로 비즈니스 로직이 담긴 애플리케이션 서버가 위치해 데이터 스토어 등과 통신하는 구조로 완성된다. 여러 애플리케이션 간의 연동 및 통신, 그리고 이들 간의 의존관계를 통해 하나의 시스템이 구성된다. 도커는 애플리케이션 배포에 특화된 컨테이너다. 또한, 도커 컨테이너 = 단일 애플리케이션 이라고 봐도 무방하다. 애플리케이션 간의 연동 없이는 실용적 수준의 시스템을 구축할 수 없다. 다시 말하면, 도커 컨테이너로 시스템을 구축하면 하나 이상의 컨테이너가 서로 통신하며, 그 사이에 의존관계가 생긴다. 이런 방식으로 시스템을 구축하게 되면 단일 컨테이너.. 더보기
도커 컨테이너 1. 도커 컨테이너의 생애주기 도커 컨테이너는 실행 중, 정지, 파기의 3 가지 상태를 갖는다. 1.실행 중 상태 - docker container run 명령의 인자로 지정된 도커 이미지를 기반으로 컨테이너가 생성되면, 이 이미지를 생성했던 Dockerfile에 포함된 CMD 및 ENTRYPOINT 인스트럭션에 정의된 애플리케이션이 실행된다. - HTTP 요청을 받는 서버 애플리케이션이면 오류로 인해 종료되지 않는 한 실행 중 상태가 지속된다. 2.정지 상태 - 실행 중 상태에 있는 컨테이너를 사용자가 명시적으로 정지하거나 컨테이너에서 실행된 애플리케이션이 정상/오류 여부를 막론하고 종료된 경우 3.파기 상태 - 정지 상태의 컨테이너는 명시적으로 파기하지 않는 이상 디스크에 그대로 남아있다. - 컨테이.. 더보기
도커 이미지와 컨테이너 기본 개념과 실행 도커의 기본 개념 도커는 컨테이너형 가상화를 구현하기 위한 상주 애플리케이션과 이를 관리하는 명령형 도구로 구성된다. (dockerd라는 데몬이 상주 실행된다.) 가상화 기술 컨테이너형 가상화 기술 도커는 컨테이너형 가상화 기술을 사용한다. 컨테이너형 가상화를 사용하면 가상화 소프트웨어 없이도 운영 체제의 리소스를 격리해 가상 운영 체제로 만들 수 있다. 이 가상 운영 체제를 컨테이너라고 한다. 호스트 운영 체제 가상화 운영 체제 위에서 가상화 소프퉤어를 사용해 하드웨어를 에뮬레이션하는 방법으로 게스트 운영체제를 만드는 방식. 애플리케이션의 중심이 되는 도커 도커는 컨테이너 정보를 Dockerfile 코드로 관리할 수 있다. 이 코드를 기반으로 복제 및 배포가 이루어지기 때문에, 재현성이 높다. 도커는 .. 더보기

반응형