ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Mac에서 Python으로 된 thumbor Rancher로 기동
    ETC/MacOS,Rancher 2024. 4. 12. 06:36
    반응형

     

    Mac에서 Python으로 만들어진 thumbor를 Rancher기반에서 컨테이너를 기동하는 스크립트를 간단하게 작성해 놓자.

    매번 컨테이너 중지, 시작 삭제 등 여러 기능들을 기억하고 사용하는것도 좋지만 쉘로 만들어 놓고 사용하는것도 나쁘지 않은 선택지일것 같다.

    참고로 nerdctl 이부분만 docker로 변경하면 docker환경에서도 가능할듯하다!

     

    build-thumbor.sh

    #!/bin/sh
    
    IMAGE_NAME=thumbor
    IMAGE_VERSION=7.7.4
    
    help(){
      if [ -z "$1" ]; then
        echo "사용법: $0 up|down|restart|logs|bash|build|rm|help"
        echo "    $0 up      : 컨테이너 시작"
        echo "    $0 down    : 컨테이너 종료"
        echo "    $0 restart : 컨테이너 재시작"
        echo "    $0 logs    : 컨테이너 로그 열람 (tail -f)"
        echo "    $0 bash    : 컨테이너에 bash 접속"
        echo "    $0 build   : 컨테이너 빌드"
        echo "    $0 rm      : 컨테이너 제거"
        exit
      fi
    }
    
    up() {
      echo ""
      echo "############### [RUN] - nerdctl run ##### - STARTED"
      stop
      echo ""
      rm
      echo ""
      echo "##### [RUN] - nerdctl run $IMAGE_NAME-$IMAGE_VERSION ...options"
    
      nerdctl run -d \
              --name "$IMAGE_NAME-$IMAGE_VERSION" \
              -p 8888:8888 \
              -p 8889:8889 \
              -v ./docker/share:/thumbor \
              -v ./docker/aws-config:/root/.aws $IMAGE_NAME:$IMAGE_VERSION
    
      nerdctl ps -a
      echo "############### [RUN] - nerdctl run ##### - ENDED"
      echo ""
    }
    
    down() {
      echo "##### [STOP] - nerdctl stop $IMAGE_NAME-$IMAGE_VERSION"
      nerdctl stop "$IMAGE_NAME-$IMAGE_VERSION"
    }
    
    logs() {
        nerdctl logs -f $IMAGE_NAME-$IMAGE_VERSION
    }
    
    bash() {
        #winpty docker exec -it $IMAGE_NAME bash
        #nerdctl exec -it $IMAGE_NAME bash
        nerdctl exec -ti --env COLUMNS=`tput cols` --env LINES=`tput lines` $IMAGE_NAME-$IMAGE_VERSION bash
    }
    
    build() {
      nerdctl build -t $IMAGE_NAME:$IMAGE_VERSION -f ./Dockerfile .
    }
    
    rm() {
      echo "##### [RM] - nerdctl rm $IMAGE_NAME-$IMAGE_VERSION"
      nerdctl rm "$IMAGE_NAME-$IMAGE_VERSION"
    }
    
    main() {
      local cmd=${1:-''}
    
      case "${cmd}" in
        "up")
          up
          ;;
        "down")
          down
          ;;
        "restart")
          down
          up
          ;;
        "logs")
          logs
          ;;
        "bash")
          bash
          ;;
        "build")
          build
          ;;
        "rm")
          rm
          ;;
        "help"|*)
          help
          exit
          ;;
      esac
    }
    
    main ${@}

     

    'ETC > MacOS,Rancher' 카테고리의 다른 글

    Rancher - nginx 쉘로 띄워보기  (0) 2024.07.11
    Mac crontab 설정  (0) 2024.04.08
    Rancher - react build html nginx로 띄워보기  (0) 2024.03.15
    Ruby 버전 업데이트  (1) 2023.11.03
    MacOS에서 파이썬 버전 관리하기  (0) 2023.08.08

    댓글

Designed by Tistory.