Profile picture

[Shell Script] 도커스웜 여러 스택 배포 스크립트

JaehyoJJAng2024년 01월 25일

▶︎ 스크립트를 사용하여 여러 스택 배포

bash 스크립트를 사용하여 여러 docker-compose.ymal 파일을 한 번에 배포해보도록 하겠다.

#!/usr/bin/bash

# stack 이름과 compose file 정의
stacks=(
  "stack1:stack1-compose.yaml"
  "stack2:stack2-compose.yaml"
  "stack3:stack3-compose.yaml"
)

# Loop
for stack in "${stacks[@]}"
do
  IFS=":" read -r name file <<< "$stack"
  echo -e "Deploying $name using $file\n"
  docker stack deploy -c "$file" "$name"
done
  • IFS=":": 내부 필드 구분자를 콜론(:)으로 설정. 이 구분자를 기준으로 문자열 분할
  • read -r name file: read 명령은 입력된 값을 읽어들여 변수를 할당함. -r 옵션은 백슬래시(\)를 특수 문자로 해석하지 않도록 함.
  • <<< "$stack": 여기서 <<<는 Here String을 나타내며, 문자열의 내용을 표준 입력으로 전달함. "$stack" 변수의 값을 read 명령으로 전달함.

‣ 스크립트 실행

스크립트에 실행 권한 부여

chmod u+x deploy-stack.sh

스크립트 실행

bash deploy-stack.sh

Loading script...