일단은 프로그래머 나부랭이

docker swarm 소개 본문

Linux

docker swarm 소개

하필이면 도대체가 2018. 8. 14. 15:44

이전 글에서 docker 라는 프로그램을 소개했습니다.

이번에는 docker swarm이라는걸 소개하고자 합니다.

swarm 모드에 대한 설명 : https://docs.docker.com/engine/swarm/#feature-highlights

대충 정리하자면

1. docker cluster를 관리한다.

2. 각 cluster에 container를 배포한다.

이정도가 주요 핵심이라고 보면 되겠습니다.

그리고 이런걸 'docker ochestration'이라고 합니다.


여기서 말하는 cluster는 docker를 수행하고 있는 물리적인 장치입니다.

(쉽게 말해 컴퓨터)


swarm은 docker와 마찬가지로 root계정에서 진행하는것이 좋습니다.

그럼, 간략한 설명을 마치고 swarm을 바로 시작해보겠습니다.


swarm 시작

docker swarm init --advertise-addr <manager IP>

(여기서 매니저 ip는 manager로 이용할 장치의 ip주소를 적으면 됩니다)


그리고 명령어가 정상적으로 수행될 경우


이와 같은 메시지가 나타나게 됩니다.

대충 설명하자면 'swarm 모드가 정상적으로 수행됐고, 노드로 추가하고자 하는 장비에서 'docker swarm join ~'의 내용을 복사해서 실행하면 그 장비가 node로서 추가된다'는 내용입니다.


만약 저 token을 잊어버리더라도, 매니저 node에 접속하여

docker swarm join-token worker

이라는 명령을 수행하면 token을 다시 확인 할 수 있으니 걱정할 필요가 없습니다.


그리고 추가하고자하는 노드에 접속하여, 저 명령을 수행하면


이와 같이 'This node joined a swarm as a worker'라는 응답이 뜨면 정상적으로 진행이 된것입니다.

(위의 manager node와 host명이 동일한건 무시해주시기 바랍니다. 작성중에 실수가 있었습니다 ㅡㅡ;)

그래도 반드시 확인하고 싶다면

docker info

라는 명령어를 입력해보시면 됩니다.

이 명령어를 입력할 경우, docker에 대한 설정 값등이 쭉 나타나게 되는데, 중간쯤에 보시면

이런 내용이 있습니다.

Swarm이 활성화 되었고, 현재 node의 ip가 192.168.0.136이고

manager node의 ip는 192.168.0.147이라는 의미입니다.

(swarm의 통신 포트는 기본값이 2377인 모양입니다.)


자 이제, swarm을 종료해보려 해보겠습니다.


swarm mode 종료 명령어

docker swarm leave [--force]

위의 명령을 입력하면 swarm이 종료됩니다.

만일 종료되지 않을 경우, '--force'라는 옵션을 추가해보세요.

이렇게 뜰 경우 정상적으로 종료된 것입니다.


Comments