> 운영 및 유지보수 > Docker > Docker Swarm에서 서비스를 어떻게 관리합니까?

Docker Swarm에서 서비스를 어떻게 관리합니까?

Robert Michael Kim
풀어 주다: 2025-03-17 16:22:28
원래의
521명이 탐색했습니다.

Docker Swarm에서 서비스를 어떻게 관리합니까?

Docker Swarm의 서비스 관리에는 서비스 작성, 스케일링, 업데이트 및 모니터링과 같은 다양한 작업이 포함됩니다. 다음은 몇 가지 주요 단계와 명령입니다.

  • 서비스 생성 : 서비스를 작성하려면 docker service create 명령을 사용하십시오. 예를 들어, nginx 컨테이너를 실행하는 서비스를 만들려면 다음을 사용합니다.

     <code class="bash">docker service create --name my-nginx --replicas 3 nginx</code>
    로그인 후 복사

    이 명령은 3 개의 복제본이있는 'my-nginx'라는 서비스를 만듭니다.

  • 목록 서비스 : 모든 서비스를 보려면 사용하십시오.

     <code class="bash">docker service ls</code>
    로그인 후 복사

    이 명령에는 모든 서비스가 Swarm에 나와 있습니다.

  • 서비스 검사 : 서비스에 대한 자세한 정보를 얻으려면 사용하십시오.

     <code class="bash">docker service inspect --pretty my-nginx</code>
    로그인 후 복사
    로그인 후 복사

    이 명령은 'my-nginx'라는 서비스에 대한 자세한 정보를 제공합니다.

  • 서비스 제거 : 서비스를 제거 해야하는 경우 사용하십시오.

     <code class="bash">docker service rm my-nginx</code>
    로그인 후 복사

    이 명령은 'my-nginx'라는 서비스를 제거합니다.

  • 서비스 업데이트 : 서비스 업데이트 (예 : 복제본 수 변경)를 사용하여 사용하십시오.

     <code class="bash">docker service update --replicas 5 my-nginx</code>
    로그인 후 복사
    로그인 후 복사

    이 명령은 서비스 'My-Nginx'가 5 개의 복제본으로 실행되도록 업데이트됩니다.

Docker Swarm에서 서비스를 확장하기 위해 어떤 명령이 사용됩니까?

Docker Swarm의 스케일링 서비스는 수요에 따라 서비스 복제본 수를 조정하는 데 중요합니다. 서비스를 확장하려면 docker service scale 명령을 사용하십시오. 예를 들어, 'My-Nginx'서비스를 5 개의 복제본으로 확장하려면 다음을 사용합니다.

 <code class="bash">docker service scale my-nginx=5</code>
로그인 후 복사

이 명령은 'My-Nginx'서비스의 복제본 수를 5로 변경합니다. 또한 docker service update 명령을 사용하여 앞에서 언급했듯이 서비스를 확장 할 수도 있습니다.

 <code class="bash">docker service update --replicas 5 my-nginx</code>
로그인 후 복사
로그인 후 복사

두 명령 모두 동일한 결과를 얻지 만 docker service scale 스케일링을 위해 특별히 설계되었으며 docker service update 더 넓은 범위의 업데이트를 처리 할 수 ​​있습니다.

Docker Swarm의 서비스 건강을 모니터링하려면 어떻게해야합니까?

Docker Swarm의 서비스 건강을 모니터링하면 올바르게 운영되고 있습니다. 다음은 다음과 같은 몇 가지 방법입니다.

  • Docker Service Logs : 다음을 사용하여 서비스 로그를 확인할 수 있습니다.

     <code class="bash">docker service logs my-nginx</code>
    로그인 후 복사

    이 명령은 'My-Nginx'서비스에 대한 로그를 검색하여 문제를 식별하는 데 도움이 될 수 있습니다.

  • Docker Service PS : 서비스의 실행중인 작업을 보려면 사용하십시오.

     <code class="bash">docker service ps my-nginx</code>
    로그인 후 복사
    로그인 후 복사

    이 명령은 'my-nginx'서비스와 관련된 현재의 상태를 보여줍니다.

  • Docker Service 검사 : 앞에서 언급 했듯이이 명령은 건강 상태를 포함한 서비스에 대한 자세한 정보를 제공 할 수 있습니다.

     <code class="bash">docker service inspect --pretty my-nginx</code>
    로그인 후 복사
    로그인 후 복사
  • 서비스 정의의 건강 검진 : 서비스 정의에서 건강 검사를 정의 할 수 있습니다. 예를 들어:

     <code class="bash">docker service create --name my-nginx --health-cmd "curl -f http://localhost/" --health-interval 10s --health-retries 3 nginx</code>
    로그인 후 복사

    이 명령은 10 초마다 컨테이너를 핑하고 3 번의 시도 후에 컨테이너를 건강에 해로운 것으로 간주하는 건강 검사와 함께 서비스를 만듭니다.

  • 타사 모니터링 도구 : Prometheus 및 Grafana와 같은 도구는 Docker Swarm과 통합되어 서비스 건강의 고급 모니터링 및 시각화를 제공 할 수 있습니다.

다운 타임없이 Docker Swarm에서 서비스를 업데이트하려면 어떤 단계가 필요합니까?

다운 타임없이 Docker Swarm의 서비스 업데이트에는 롤링 업데이트 프로세스가 포함됩니다. 이를 달성하기위한 단계는 다음과 같습니다.

  1. 새 이미지 준비 : 레지스트리에서 새 버전의 컨테이너 이미지를 사용할 수 있는지 확인하십시오.
  2. 롤링 업데이트 시작 : --update-parallelism--update-delay 플래그와 함께 docker service update 명령을 사용하여 롤링 업데이트 프로세스를 제어하십시오. 예를 들어, 가동 중지 시간이없는 새로운 이미지로 'my-nginx'를 업데이트하려면

     <code class="bash">docker service update --image nginx:latest --update-parallelism 1 --update-delay 10s my-nginx</code>
    로그인 후 복사

    이 명령은 'My-Nginx'서비스를 최신 NGINX 이미지로 업데이트하여 각 작업 업데이트간에 10 초 지연으로 한 번에 한 작업으로 업데이트를 출시합니다.

  3. 업데이트 모니터링 : docker service ps 명령을 사용하여 업데이트 된 작업의 상태를 모니터링합니다.

     <code class="bash">docker service ps my-nginx</code>
    로그인 후 복사
    로그인 후 복사

    이 명령은 업데이트 된 작업이 업데이트되었으며 이전 버전을 실행하는 작업을 추적하는 데 도움이됩니다.

  4. 업데이트 확인 : 업데이트가 완료된 후 docker service logsdocker service inspect 사용하여 예상대로 서비스가 실행되는지 확인하십시오.

     <code class="bash">docker service logs my-nginx docker service inspect --pretty my-nginx</code>
    로그인 후 복사

이러한 단계를 수행하고 올바른 옵션이있는 적절한 명령을 사용하면 다운 타임없이 Docker Swarm에서 서비스가 업데이트되도록 할 수 있습니다.

위 내용은 Docker Swarm에서 서비스를 어떻게 관리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿