스웜에서 서비스 확인하기
스웜에서 서비스 확인하기
스웜에 서비스를 배포한 뒤에는 Docker CLI를 사용해서 실행 중인 서비스의 세부 정보를 확인할 수 있어요. 이번에는 docker service 명령어로 서비스의 상태와 설정을 어떻게 살펴보는지 함께 알아볼게요. 명령어를 직접 입력하면서 따라 해 보세요.
출처: 공식문서
본문
서비스 상세 정보 확인하기
먼저 매니저 노드에 접속해야 해요. 아직 접속하지 않았다면 터미널을 열고 SSH로 매니저 노드에 들어가세요. 예제에서는 manager1이라는 머신을 사용하고 있어요.
docker service inspect --pretty <SERVICE-ID> 명령어를 실행하면 서비스에 대한 정보를 읽기 쉬운 형식으로 보여줘요. helloworld 서비스의 정보를 확인하려면 이렇게 입력하면 돼요.
[manager1]$ docker service inspect --pretty helloworld
ID: 9uk4639qpg7npwf3fn2aasksr
Name: helloworld
Service Mode: REPLICATED
Replicas: 1
Placement:
UpdateConfig:
Parallelism: 1
ContainerSpec:
Image: alpine
Args: ping docker.com
Resources:
Endpoint Mode: vip
팁: 서비스 정보를 JSON 형식으로 확인하고 싶다면
--pretty옵션 없이 같은 명령어를 실행하면 돼요.
[manager1]$ docker service inspect helloworld
[
{
"ID": "9uk4639qpg7npwf3fn2aasksr",
"Version": {
"Index": 418
},
"CreatedAt": "2016-06-16T21:57:11.622222327Z",
"UpdatedAt": "2016-06-16T21:57:11.622222327Z",
"Spec": {
"Name": "helloworld",
"TaskTemplate": {
"ContainerSpec": {
"Image": "alpine",
"Args": [
"ping",
"docker.com"
]
},
"Resources": {
"Limits": {},
"Reservations": {}
},
"RestartPolicy": {
"Condition": "any",
"MaxAttempts": 0
},
"Placement": {}
},
"Mode": {
"Replicated": {
"Replicas": 1
}
},
"UpdateConfig": {
"Parallelism": 1
},
"EndpointSpec": {
"Mode": "vip"
}
},
"Endpoint": {
"Spec": {}
}
}
]
서비스 태스크 확인하기
docker service ps <SERVICE-ID> 명령어를 사용하면 어떤 노드에서 서비스가 실행 중인지 확인할 수 있어요. helloworld 서비스의 태스크를 확인해 볼게요.
[manager1]$ docker service ps helloworld
NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
helloworld.1.8p1vev3fq5zm0mi8g0as41w35 alpine worker2 Running Running 3 minutes
이 경우 helloworld 서비스의 인스턴스 하나가 worker2 노드에서 실행되고 있어요. 매니저 노드에서 실행되는 경우도 볼 수 있는데, 기본적으로 스웜의 매니저 노드는 워커 노드처럼 태스크를 실행할 수 있기 때문이에요. DESIRED STATE와 CURRENT STATE를 보면 서비스 정의에 따라 태스크가 제대로 실행되고 있는지 알 수 있어요.
컨테이너 확인하기
태스크가 실행 중인 노드에서 docker ps 명령어를 실행하면 해당 태스크의 컨테이너 정보를 볼 수 있어요. 만약 helloworld가 매니저 노드가 아닌 다른 노드에서 실행 중이라면, 그 노드로 SSH 접속을 해야 해요.
[worker2]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e609dde94e47 alpine:latest "ping docker.com" 3 minutes ago Up 3 minutes helloworld.1.8p1vev3fq5zm0mi8g0as41w35
더 알아보기 (Learn more)
다음 단계로, 스웜에서 실행 중인 서비스의 스케일을 변경해 볼 거예요. 스케일 변경하기로 이동하세요.