Docker Swarm 서비스 생성
이 단계에서는 Docker Swarm 서비스를 생성하는 방법을 배우겠습니다. Docker Swarm 서비스는 Swarm 클러스터에서 실행되는 일련의 작업입니다. 각 작업은 컨테이너의 인스턴스입니다. 서비스는 Docker Swarm 의 핵심 개념으로, 컨테이너 이미지의 복제본을 몇 개 실행해야 하는지, 그리고 어떻게 업데이트해야 하는지를 정의할 수 있게 해줍니다.
서비스를 생성하기 전에 Docker Swarm 을 초기화해야 합니다. 단일 VM 에서 실행하고 있으므로, 단일 노드 Swarm 을 초기화합니다.
먼저, Swarm 을 초기화해 보겠습니다.
docker swarm init --advertise-addr 127.0.0.1
Swarm 이 초기화되었고 현재 노드가 이제 매니저라는 것을 나타내는 출력을 볼 수 있습니다.
이제 nginx 이미지를 사용하여 서비스를 생성해 보겠습니다. 서비스 이름을 my-nginx로 지정하고, nginx 컨테이너의 복제본 3 개를 실행하도록 지정합니다.
먼저, nginx 이미지를 풀하여 로컬에서 사용할 수 있도록 합니다.
docker pull nginx:latest
이제 서비스를 생성합니다.
docker service create --name my-nginx --replicas 3 nginx:latest
이 명령은 nginx:latest 이미지를 사용하여 3 개의 복제본이 있는 my-nginx라는 새 서비스를 생성합니다. Docker Swarm 은 이러한 복제본을 Swarm 의 노드 (이 경우, 단일 노드) 에 자동으로 분산합니다.
서비스가 생성되었고 복제본이 실행 중인지 확인하려면 서비스를 나열할 수 있습니다.
docker service ls
my-nginx가 3/3 개의 복제본이 실행 중인 상태로 나열되는 것을 볼 수 있습니다.
또한 서비스와 관련된 작업을 검사할 수 있습니다.
docker service ps my-nginx
이 명령은 my-nginx 서비스를 구성하는 개별 작업 (컨테이너), 현재 상태 및 실행 중인 노드를 보여줍니다. Running 상태의 작업 3 개를 볼 수 있습니다.