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}
크게 보면 다음과 같이 구성되어 있습니다.
- 스크립트 주석
- 도커 컨테이너 환경변수
- 응용 어플리케이션의 환경변수
- 이전 컨테이너가 동작중이면 중지하기
- 컨테이너 동작
필요한 어플리케이션별로 위 스크립트를 조금씩 수정하여 운영하는데 이용하고 있습니다.
'Docker' 카테고리의 다른 글
[docker] gitlab - backup 수행하기 (0) | 2023.06.15 |
---|---|
[docker] docker 서비스 중지시, "docker.socket" Warning 문제 (0) | 2022.07.06 |
Python-flask 도커 이미지 만들기 (0) | 2021.05.04 |
alpine 기반에서 "greenlet" python 패키지 설치시 오류 해결 방법 (0) | 2021.05.03 |
[Docker] 로컬과 컨테이너간 파일 복사 (0) | 2021.04.16 |