Docker 컨테이너에 HAProxy를 배포하는 방법

Docker Keonteineoe Haproxyleul Baepohaneun Bangbeob



HAProxy를 사용하면 시스템에서 패키지로 실행하는 대신 Docker 컨테이너에 배포할 수 있습니다. Docker를 사용하면 다른 패키지를 방해하지 않으며 HAProxy를 역방향 프록시로 또는 다른 목적으로 실행하기 위한 격리된 환경을 갖는 한 가지 방법입니다. Docker에서 HAProxy를 실행하는 것은 간단한 작업입니다. 이 게시물에서는 따라야 할 단계에 대해 설명합니다. 읽어!

Docker 컨테이너에 HAProxy 배포

애플리케이션이나 서버로 작업할 때 HAProxy는 트래픽을 제어하여 높은 성능과 확장성을 달성하는 데 유용합니다. 또한 Docker는 애플리케이션을 원활하게 배포하고 확장할 수 있는 플랫폼을 제공합니다. 이 두 가지를 결합하면 확장성과 기타 배포 요구 사항이 잘 충족될 것입니다.







게다가 HAProxy 기술은 Docker 컨테이너에 HAProxy를 배포하는 데 사용할 수 있는 Docker 이미지 세트를 구축했습니다. 다음은 따라야 할 단계입니다.



1단계: 도커 시작



HAProxy를 배포하기 전에 시스템을 시작하려면 시스템에 Docker가 설치되어 있어야 합니다. 사용 중인 배포판에 따라 Docker를 설치했는지 확인하세요. 이 튜토리얼에서는 Ubuntu로 작업하고 Docker 버전을 확인하여 시스템에 설치되어 있는지 확인합니다.






Docker를 설치한 후 상태를 확인하여 실행 중인지 확인하세요. 다음 명령으로 시작한 후 상태를 확인할 수 있습니다.

$ sudo systemctl 도커 시작




2단계: HAProxy 공식 Docker 이미지 가져오기

공식 HAProxy Docker 이미지는 Docker 허브에서 사용할 수 있습니다. 다음 명령을 사용하여 끌어서 다운로드할 수 있습니다.

$ sudo 도커 풀 하프록시


사용 가능한 Docker 이미지를 확인하여 HAProxy를 다운로드했는지 확인하세요.

$ sudo 도커 이미지


3단계: Docker 네트워크 생성

HAProxy에 연결하려는 웹 애플리케이션을 사용하므로 브리지 네트워크가 필요합니다. 게다가 네트워크를 생성하면 컨테이너를 분리하여 각각이 자체 컨테이너를 사용할 수도 있습니다.

브리지된 네트워크를 생성하려면 다음 구문을 사용하십시오.

$ sudo 도커 네트워크 생성 network_name


Docker 컨테이너에 사용 가능한 네트워크를 나열하여 네트워크가 생성되었는지 빠르게 확인하세요.

$ sudo 도커 네트워크 ㅋㅋㅋ


'network1a'가 생성되었으며 다음 출력에 나타납니다.


4단계: 백엔드 웹 애플리케이션 생성

데모를 위해 로드 밸런서와 함께 사용할 두 개의 웹 인스턴스를 만듭니다. Docker에는 사용할 수 있는 다양한 인스턴스가 있습니다. 이 경우 Nginx 이미지를 사용하여 웹 애플리케이션을 만듭니다.

$ sudo 도커 실행 -디 --이름 < 웹앱 이름 > --회로망 < 네트워크 이름 > nginx


다른 인스턴스를 만듭니다.


이제 Docker에 두 개의 웹 애플리케이션 인스턴스가 있습니다. 'docker ps' 명령을 실행하여 이를 확인합니다.


5단계: 구성 파일 생성

Docker와 함께 사용할 HAProxy 구성 파일을 생성해야 합니다. 구성 파일을 저장할 위치를 선택하세요. 그런 다음 텍스트 편집기로 엽니다. 이 경우에는 nano를 사용하고 있으며 구성 파일은 '/opt/haproxy/haproxy.cfg'에 저장되어 있습니다.


구성 파일은 다음과 같습니다. 각 섹션에서 HAProxy가 웹 애플리케이션/서버에 로드를 분산시키는 방법을 어떻게 보여주고 있는지 확인하세요.


이번에도 프런트엔드 연결에는 포트 80을 사용하고 리스너에는 포트 8404를 사용합니다.


구성 파일의 백엔드 섹션에 웹 애플리케이션의 올바른 이름을 추가했는지 확인하세요. 호스트 이름 대신 웹 애플리케이션의 IP 주소를 사용할 수도 있습니다. 마지막으로 파일을 저장하고 종료합니다. 그런 다음 HAProxy를 다시 시작할 수 있습니다.


구성 파일을 만드는 대신 기존 구성 파일을 복사하는 Docker 파일을 만든 다음 컨테이너를 빌드할 수 있습니다. 자신에게 가장 적합한 방법을 자유롭게 사용해 보세요.

6단계: HAProxy 배포

이제 HAProxy 컨테이너를 생성하고 실행한 후 해당 포트를 구성 파일에 포함된 포트에 매핑해야 합니다. 컨테이너 이름을 'haproxycontainer2'로 지정하고 호스트의 포트 80 및 8404를 Docker 컨테이너의 포트에 매핑합니다.


이를 통해 Docker 컨테이너에 HAProxy를 배포할 수 있었습니다. 이제 웹 애플리케이션/서버에 액세스할 수 있습니다. 채널링되는 모든 트래픽은 로드 밸런싱이 발생하도록 HAProxy를 사용하여 분산됩니다.

결론

HAProxy는 로드 밸런싱 및 기타 애플리케이션에 도움이 됩니다. Docker로 작업할 때 웹 애플리케이션이나 개발 환경이 편리한 로드 밸런싱 방법을 얻을 수 있도록 HAProxy를 배포할 수 있습니다. 이 게시물에서는 Docker 컨테이너에 HAProxy를 배포하는 단계를 공유했습니다. 그들을 따르고 귀하의 경우에도 동일한 작업을 수행하십시오.