본문 바로가기
[개발] Info/소개

윈도우즈 배치 파일 만들기

by Devsong26 2023. 11. 29.

윈도우즈 OS가 시작과 동시에 .bat 파일이 실행되도록 구성합니다.

 

목적은 docker-compose up 명령어 실행입니다. 

 

Docker가 정상적으로 설치되고 실행되고 있는지 확인한 후에 `docker-compose up` 명령을 실행하는 배치 파일을 만들려면, 몇 가지 검사 및 반복 루프를 포함해야 합니다. 

 

다음은 이러한 기능을 수행하는 배치 파일의 예시입니다:

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

:CHECK_DOCKER
echo Checking if Docker is running...
docker --version > NUL 2>&1

IF !ERRORLEVEL! NEQ 0 (
    echo Docker is not running, retrying in 5 seconds...
    TIMEOUT /T 5
    GOTO CHECK_DOCKER
)

echo Docker is running.
echo Starting docker-compose...
docker-compose up -d

ENDLOCAL



이 스크립트는 다음과 같이 작동합니다:

  • `@echo off`는 명령 실행 시 명령 자체가 콘솔에 출력되는 것을 방지합니다.
  • `SETLOCAL ENABLEDELAYEDEXPANSION`은 지연된 환경 변수 확장을 활성화하여 루프 내에서 변수 업데이트가 가능하도록 합니다.
  • `:CHECK_DOCKER` 라벨은 Docker가 실행 중인지 확인하는 섹션의 시작점입니다.
  • `docker -version > NUL 2>&1` 명령은 Docker 버전을 체크하며, 출력과 에러 메시지를 숨깁니다.
  • `IF !ERRORLEVEL! NEQ 0` 구문은 `docker -version` 명령이 실패했는지 확인합니다. 실패했다면 (`ERRORLEVEL`이 0이 아니라면), 5초 후에 다시 시도합니다.
  • `TIMEOUT /T 5`는 5초 동안 대기합니다.
  • `GOTO CHECK_DOCKER`는 스크립트를 `CHECK_DOCKER` 라벨로 다시 보냅니다. 이는 Docker가 실행될 때까지 반복됩니다.
  • `docker-compose up` 명령은 Docker가 실행 중일 때 실행됩니다.


이 배치 파일은 Docker가 정상적으로 작동하고 있는지 주기적으로 확인하고, 준비가 완료되면 `docker-compose up -d` 명령을 실행합니다. 파일을 `.bat` 확장자를 사용하여 저장하고 실행할 수 있습니다.

 

아래 포스트를 참고하여 시작 프로그램에 배치 파일 바로가기를 위치시키고 확인하면 됩니다.

https://developer-syubrofo.tistory.com/221