1. Docker 설치 작업 (모든 노드)
# 기존 패키지 삭제 for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done # 저장소 추가 sudo apt-get update sudo apt-get install -y \ ca-certificates \ curl \ gnupg \ lsb-release ================== curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ================== echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ================== # 도커 엔진 설치 sudo apt-get update # 설치 가능 버전 확인 apt-cache madison docker-ce | awk '{ print $3 }' # 버전 지정하여 설치 VERSION_STRING=5:20.10.24~3-0~ubuntu-focal sudo apt-get -y install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin # 확인 docker -v sudo docker run hello-world ================== # 컴포즈 설치 docker compose version //Docker Compose version v2.24.2 // 플러그인 형태로 제공되고 있음. 만약 기존 처럼 standalone 형태로 설치하고자 하는 경우에는 // 아래와 같이 진행 sudo curl -SL https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose # 컴포즈 버전 재확인 docker-compose --version //Docker Compose version v2.12.2 ================== // usermod -aG docker [사용자계정] 은 [사용자계정]을 기존 그룹을 유지하면서 docker 그룹에 포함 시킨다. // 따라서 docker 명령어는 sudo 가 필요 없고, 나머지 시스템 관리를 위한 명령어는 sudo 가 필요하다. sudo usermod -aG docker [사용자계정] ================== su [사용자계정] //Password: [패스워드 입력] # 도커 확인 docker version ================== # 방화벽 비활성화 (즉시 적용) sudo systemctl disable ufw --now
2. Swarm 환경 셋팅
- [manager] 도커 스웜 관리자 설정 (+ join token도 함께 생성됨)
- 출력 결과에 있는 docker swarm join 토큰 복사해두기 (작업 노드 조인할 때 필요)
- [주의] 스웜 매니저 노드에서 제공된 토큰은 외부에 노출되지 않도록 관리할 것 (언제든 토큰 확인 및 재생성 가능)
# [manager1] 도커 스웜 초기화 및 스웜 관리자 설정 docker swarm init --advertise-addr 211.183.3.103

# 최초 생성된 조인 키를 분실한 경우, 아래의 명령어로 조회 가능 docker swarm join-token [노드 이름] # 다중 매니저 노드를 구성하는 경우에는 매니저 노드 추가에 대한 조인키도 조회 가능 docker swarm join-token manager
- [worker] 작업 노드 > 매니저 노드에 조인하기
- [에러 이슈] Error response from daemon : This node is already part of a swarm. Use "docker swarm leave" to leave this swarm and join another one.
[Docker] Error response from daemon : This node is already part of a swarm. Use "docker swarm leave" to leave this swarm and joi
1. 발생 및 문제 원인 새로운 도커 스웜에 조인하려는 작업 노드가 이미 다른 도커 스웜의 일부이기 때문에 나타난 문제 2. 해결 방안 docker swarm leave 명령어를 실행하여 빠져나오기 (해제하려는
turnaroundwoo.tistory.com
- 매니저 노드에서 복사해뒀던 docker swarm join 토큰을 작업 노드의 프롬프트에 그대로 붙여넣기를 하면 조인이 된다.
- 조인 토큰은 작업 노드가 매니저 노드와 함께 클러스터에 합류할 수 있도록 하는 비밀 키다.

- [manager] 도커 스웜 작업자 노드 연결 확인
- 노드 연결 구성이 끝나면 매니저 노드에서 작업자 노드의 연결을 확인할 수 있다.
docker node ls

'🗂ㅤ작업 노트 > Project' 카테고리의 다른 글
[Docker] #0 기본 환경 셋팅 (VMware) (0) | 2024.03.14 |
---|---|
[Kakao Map] script.onload 추가 (0) | 2023.07.24 |
[TIL] 공공데이터 Open Api 활용 연습 (0) | 2023.07.20 |