Docker를 사용하여 클라이언트가 하나의 서버에서 실행되는 여러 애플리케이션에 액세스할 수 있도록 하려면 어떻게 해야 합니까?

Docker를 사용하여 클라이언트가 하나의 서버에서 실행되는 여러 애플리케이션에 액세스할 수 있도록 하려면 어떻게 해야 합니까?

200GB RAM을 갖춘 매우 빠른 서버가 있다고 가정해 보겠습니다. 저는 기본적으로 웹 인터페이스를 통해 실행되는 rserver와 같은 애플리케이션을 호스팅하고 싶습니다.

각 애플리케이션을 설정된 수의 CPU와 RAM이 할당된 컨테이너에 넣고 싶습니다. 각 컨테이너는 내가 가진 각 학생을 위한 것입니다.

각 학생을 포트에 하드코딩하지 않고 사용할 http 주소를 각 학생에게 어떻게 제공합니까?

답변1

CPU 및 RAM을 할당하려면 또는 같은 docker run컨테이너( 참조)를 생성할 때 옵션이 있습니다 .docker help run--cpuset-cpus=--memory=

서로 다른 http 주소를 가진 각 학생의 경우 이는 간단하지 않습니다. 각각 컨테이너에서 실행되고 808x로 노출된 8080 포트(컨테이너 내)를 수신하는 8개의 젠킨스 마스터 서비스를 호스팅하는 VM에 대해 우리가 수행한 작업은 443에서만 수신하는 Apache 디스패처(또는 nginx)를 구성하는 것입니다. 8개의 DNS 이름, 다른 컨테이너로 디스패칭. 여기에서 시스템을 확인하세요:http://www.slideshare.net/cm13/scaling-your-jenkins-master-with-docker/16

이러한 시스템을 설정하려면 각 학생의 새 이름을 만들 수 있도록 DNS 서버 구성에 액세스해야 합니다. 또한 Apache 가상 호스트 구성 생성을 자동화해야 합니다(별로 어렵지 않음). 그런 다음 각 학생은 다음으로 이동합니다.https://hishername/그러면 응용 프로그램이 시작됩니다.

docker-compose다른 기술을 사용하여 컨테이너 생성을 자동화하라고 조언하고 싶습니다 .

관련 정보