2019.05.14 - Docker Swarm을 클라우드 환경에서 돌려보기

Docker Swarm2

Digital Ocean에서 Docker node 여러개 만들고 컨트롤하기

1) ssh root@IP

2) get.docker.com 에 들어가서 맨 위 인스톨 스크립트를 실행.

3) docker-swarm init --advertise-addr (아이피주소)
 - 도커 스웜을 돌릴 노드의 공인 아이피 주소를 기재하기

4) 3번을 치고 나온 명령어를 그대로 복사해서 다른 노드에서 붙여넣고 엔터

5) Swarm Manager만이 swarm 명령어를 사용할 수 있기 때문에 워커노드에서 docker node ls를 친다한들 권한문제 때문에 실행되지 않는다.

6) docker node update --role manager node2
< node2를 매니저로 진급시킨다. 이 후에 docker node ls 명령어를 실행하면 이 전에 ls를 볼 수 없던 node2에서 목록이 보이게 된다.

7) 만약 Manager Role로 새로운 노드를 바로 실행해버리려면 docker swarm join-token manager를 실행. < 새롭게 복붙해서 쓸 수 있는 토큰이 나온다.

8) docker service create --replicas 3 alpine ping 8.8.8.8 < 2개의 레플리케이션을 만든 alpine을 도커에서 생성.

9) docker node ps < 현재 내 로컬에서 실행 중인 task나 container를 볼 수 있음.
docker node ps node2 < node2 노드에서 실행 중인 task나 container를 볼 수 있음.

궁금사항:

docker service create --replicas 3 alpine ping 8.8.8.8 이 명령어를 docker swarm(docker service)의 매니저 노드에서 치니까 자동으로 worker로 조인했던 node들의 ps에도 모두 돌아가기 시작했다. 어째서일까?

댓글

이 블로그의 인기 게시물

로컬 Tomcat 서버 실행속도 개선

2019.05.23 - SQLAlchemy 의 객체 상태 관리 (expire, refresh, flush, commit) 에 관한 이해

2020.02.17 Python의 multiprocessing 중 Pool.map(), chunksize에 관한 내용