답변:
수년에 걸쳐이 답변을지지 해주신 분들께 감사드립니다.
Docker가 여전히 매우 새로운 기술이었던 2013 년 8 월에이 질문이 제기되었습니다. 그 이후 : Kubernetes 는 2014 년 6 월에 출시되었으며 Docker swarm 은 2015 년 2 월에 Docker 엔진에 통합되었으며, Amazon은 2015 년 4 월에 컨테이너 솔루션 ECS를 출시했으며 , 2015 년 8 월 Google은 GKE 를 출시했습니다 . 크게 변경되었습니다.
짧은 대답은 이것을하기 위해 자신의 논리를 작성해야한다는 것입니다.
이러한 종류의 기능은 도커 위에 구축되고 프로덕션 응용 프로그램을 지원하도록 설계된 다음 프로젝트에서 나타날 것으로 기대합니다.
내가 최근에 발견 한 다른 관련 프로젝트 :
최신 릴리스 Openstack에는 Docker 컨테이너 관리를 지원합니다.
Docker 인스턴스 관리 시스템
그리고 Packer , Docker 및 Serf 와 같은 도구를 사용 하여 불변의 서버 인프라 패턴을 제공하는 방법에 대한 프레젠테이션
serf를 사용하여 도커 컨테이너를 연결하는 방법에 대한 깔끔한 기사 :
Marathon 프레임 워크를 사용하여 Mesos에서 Docker 실행
docker-cluster 및 분리 된 스케줄러 배포를 지원하므로 Tsuru 에서 Docker를 실행하십시오.
도커 기반 환경 오케스트레이션
구글 쿠 버네 티스
Redhat은 Openshift PAAS를 리팩터링하여 Docker를 통합했습니다.
Docker 명령 줄을 래핑하고 json 파일에서 관리하는 Docker NodeJS lib
Amazon의 새로운 컨테이너 서비스를 통해 클러스터를 확장 할 수 있습니다.
엄밀히 말하면 Flocker 는 응용 프로그램을 "확장"하지 않지만 여러 도커 호스트에서 상태 저장 컨테이너 (데이터베이스 서비스 실행 중)를 이식 가능하게 만드는 관련 기능을 수행하도록 설계되었습니다.
Docker 응용 프로그램을 설명하는 이식 가능한 템플릿을 만드는 프로젝트 :
Docker 프로젝트는 이제 기본적으로 오케스트레이션을 해결하고 있습니다 ( 공지 참조 ).
또한보십시오:
Openstack 프로젝트에는 이제 Magnum이라는 새로운 "서비스 컨테이너"프로젝트가 있습니다.
많은 약속을 보여주고 Kubernetes 및 Docker swarm과 같은 Docker 오케스트레이션 프레임 워크를 쉽게 설정할 수 있습니다.
Rancher는 빠르게 성숙하고있는 프로젝트입니다
멋진 UI와 hyrbrid Docker 인프라에 중점
격자 프로젝트는 컨테이너 클러스터를 관리하기위한 클라우드 파운드리의 파생물이다.
Docker는 최근 Tutum을 구입했습니다.
Kubernetes에 배포 된 응용 프로그램의 패키지 관리자 .
Vamp는 컨테이너 기술에 의존하는 (마이크로) 서비스 지향 아키텍처를 관리하기위한 오픈 소스 및 자체 호스팅 플랫폼입니다.
분산 된 고 가용성 데이터 센터 인식 스케줄러
우리에게 Vagrant와 다른 강력한 도구를 준 사람들로부터.
Kubernetes 기반 AWS, 오픈 소스를위한 컨테이너 호스팅 솔루션
독일에 위치한 Apache Mesos 기반 컨테이너 호스팅
https://sloppy.io/features/#features
Docker Inc.는 Docker 클라우드라는 컨테이너 호스팅 서비스도 제공합니다.
Jelastic 은 컨테이너를 자동으로 확장하는 호스팅 된 PAAS 서비스입니다.
mesosphere/mesos-docker
프로젝트는 더 이상 사용되지 않으며 다음으로 대체되었습니다 mesosphere/deimos
: github.com/mesosphere/deimos
Deis 는 Docker 컨테이너의 스케일링을 자동화합니다 (다른 것들 중에서도).
Deis (DAY-iss로 발음)는 오픈 소스 PaaS로, 자신의 서버에서 애플리케이션을 쉽게 배포하고 관리 할 수 있습니다. Deis는 Docker 및 CoreOS 를 기반으로 Heroku에서 영감을 얻은 워크 플로와 함께 경량 PaaS를 제공합니다.
개발자 워크 플로우는 다음과 같습니다.
deis create myapp # create a new deis app called "myapp"
git push deis master # built with a buildpack or dockerfile
deis scale web=16 worker=4 # scale up docker containers
Deis는 CoreOS 클러스터에 Docker 컨테이너를 자동으로 배포하고 Nginx 라우터를 구성하여 요청을 정상적인 Docker 컨테이너로 라우팅합니다. 호스트가 죽으면 몇 초 안에 다른 호스트에서 컨테이너가 자동으로 다시 시작됩니다. 프록시 URL을 찾아 deis open
보거나 앱을 사용 하십시오.
다른 유용한 명령들 :
deis config:set DATABASE_URL= # attach to a database w/ an envvar
deis run make test # run ephemeral containers for one-off tasks
deis logs # get aggregated logs for troubleshooting
deis rollback v23 # rollback to a prior release
이를 실제로 보려면 http://deis.io/overview/ 에서 터미널 비디오를 확인 하십시오 . 또한 Deis 개념에 대해 배우 거나 개인 PaaS를 직접 배포 할 수 있습니다 .
당신은 쓰루를 시도 할 수 있습니다. Tsuru는 Heroku에서 영감을 얻은 오픈 소스 PaaS이며 이미 Globo.com (브라질에서 가장 큰 방송 텔레비전 회사의 인터넷 암)에서 일부 제품을 생산하고 있습니다.
컨테이너 생성, 배포, 도커 클러스터, 단위 확장, 분리 배포 등과 같은 많은 훌륭한 기능을 갖춘 라우팅 (힙통 포함)으로 인해 응용 프로그램의 전체 흐름을 관리합니다.
다음 문서를 살펴보십시오. http://docs.tsuru.io/
여기 우리의 환경을 다루는 게시물 : http://blog.tsuru.io/2014/04/04/running-tsuru-in-production-scaling-and-segregating-docker-containers/
Rancher.com 에서 여러 Docker 호스트 등을 관리 할 수 있습니다.
Docker를 확장하는 합리적인 방법은 다음과 같습니다.
Yandex의 또 다른 도커 오픈 소스 프로젝트 :
우리는 Deis (deis.io)의 열성 팬이며 적극적으로 배포하는 동안 PaaS 스타일 배포 솔루션과 같은 다른 Heroku가 있습니다.
Wayfinder 사람들의 Longshoreman :
https://github.com/longshoreman/longshoreman
CloudFoundry를 사용하여 CloudCredo 직원의 데커 :
http://www.cloudcredo.com/decker-docker-cloud-foundry/
곧은 오케스트레이션과 관련하여 NewRelic의 오픈 소스 Centurion 프로젝트는 매우 유망한 것으로 보입니다.
다른 게시물에 언급되지 않은 옵션은 Helios입니다. 그것은 spotify에 의해 만들어졌으며 너무 많은 것을 시도하지 않습니다.