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 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 |