script 파일을 만들고 실행 시 다른 디렉토리에 있는 실행 파일을 실행 시켜야 하는 경우가 있을 수 있다. 나같은 경우에는 docker-compose 를 build 하고 테스트를 한 뒤 컨테이너들을 지우는 script 명령을 만들었다. 이 때 docker-compose 와 script 실행 파일이 다른 폴더에 위치하면서 오류를 겪었다
각 os 별로 상대 경로를 포함하여 실행하는 방법을 설명한다.
1. Window
pushd “%~dp0”
docker-compose -f %~dp0..\..\docker-compose-test.yml -p test down
docker-compose -f %~dp0..\..\docker-compose-test.yml -p test build
docker-compose -f %~dp0..\..\docker-compose-test.yml -p test up -d test-db
docker-compose -f %~dp0..\..\docker-compose-test.yml -p test run test-api
docker-compose -f %~dp0..\..\docker-compose-test.yml -p test down
2. Linux
#!/bin/bash
echo 'PARAM:' $BASH_SOURCE
RELATIVE_DIR=`dirname "$BASH_SOURCE"`
echo 'Dir:' $RELATIVE_DIR
CANONICAL_DIR=`readlink -f $RELATIVE_DIR`
echo 'CANONICAL DIR:' $CANONICAL_DIR
docker-compose -f $CANONICAL_DIR/../../docker-compose-test.yml -p test down
docker-compose -f $CANONICAL_DIR/../../docker-compose-test.yml -p test build
docker-compose -f $CANONICAL_DIR/../../docker-compose-test.yml -p test up -d test-db
docker-compose -f $CANONICAL_DIR/../../docker-compose-test.yml -p test run test-api
docker-compose -f $CANONICAL_DIR/../../docker-compose-test.yml -p test down
'기타 팁들' 카테고리의 다른 글
Websocket (0) | 2023.05.05 |
---|---|
Celery shared_task (0) | 2023.05.03 |
Docker network (0) | 2023.02.14 |
Ssh 접속 관련 실수 (0) | 2022.12.09 |
Django Installed Package Script (0) | 2022.12.09 |