Docker

[Docker] 컨테이너 구동 스크립트

채윤아빠 2021. 9. 10. 07:59
728x90
반응형

도커 컨테이너 구동 스크립트를 다음과 같이 작성하였습니다.

#!/bin/bash

# PostgreSQL 컨테이너 구동 스크립트
# server : dev
# date : 2022-03-10
# author : hanwh@hunature.net

CONTAINER_NAME=postgres
CONTAINER_LOG=/home/logs/${CONTAINER_NAME}.log
CONTAINER_TAG=10-3.2-alpine

PG_DB_DATA_DIR=/home/dts/pg_data
PG_PORT=5432

echo "========"tee -a ${CONTAINER_LOG}
echo "[$(date +%Y-%m-%d) $(date +%H:%M:%S)] $0 $@"tee -a ${CONTAINER_LOG}

# previous container stop & remove
docker ps -q --filter "name=${CONTAINER_NAME}"grep -q . && docker stop ${CONTAINER_NAME} && docker rm -fv ${CONTAINER_NAME}


echo "PostgreSQL 컨테이너 생성"tee -a ${CONTAINER_LOG}
#    -e POSTGRES_PASSWORD="hunature" \
#    #-e POSTGRES_PORT=${PG_PORT} \
#    -p ${PG_PORT}:5432 \
docker run -d \
    --network host --restart=unless-stopped --name ${CONTAINER_NAME} \
    -e PGDATA=/home/dts/pg_data \
    -v ${PG_DB_DATA_DIR}:/home/dts/pg_data \
    postgis/postgis:${CONTAINER_TAG}

크게 보면 다음과 같이 구성되어 있습니다.

  • 스크립트 주석
  • 도커 컨테이너 환경변수
  • 응용 어플리케이션의 환경변수
  • 이전 컨테이너가 동작중이면 중지하기
  • 컨테이너 동작

필요한 어플리케이션별로 위 스크립트를 조금씩 수정하여 운영하는데 이용하고 있습니다.