You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.4 KiB
51 lines
1.4 KiB
#!/usr/bin/env bash
|
|
# kr_lp_pgnet 컨테이너 재생성 (--shm-size 8g 적용 등)
|
|
#
|
|
# 호스트에서 실행:
|
|
# bash scripts/recreate_container.sh
|
|
#
|
|
# 동작:
|
|
# 1. /root/.netrc 백업 (wandb 인증 보존)
|
|
# 2. 기존 컨테이너 강제 삭제
|
|
# 3. 새 컨테이너 시작 (--shm-size 8g, --gpus all, bind mount)
|
|
# 4. .netrc 복원
|
|
# 5. setup_server.sh 자동 실행 (paddle 등 재설치)
|
|
|
|
set -euo pipefail
|
|
|
|
NAME=kr_lp_pgnet
|
|
IMAGE=ubuntu:24.04
|
|
SHM=8g
|
|
WORKSPACE=/home/cuuva/workspace
|
|
|
|
# 1. .netrc 백업 (wandb 로그인 보존용)
|
|
NETRC_BAK=/tmp/${NAME}_netrc.bak
|
|
if docker exec "$NAME" test -f /root/.netrc 2>/dev/null; then
|
|
docker cp "$NAME":/root/.netrc "$NETRC_BAK"
|
|
echo " ✓ /root/.netrc backed up → $NETRC_BAK"
|
|
fi
|
|
|
|
# 2. 기존 컨테이너 강제 정리
|
|
docker rm -f "$NAME" 2>/dev/null || true
|
|
|
|
# 3. 새 컨테이너 (--shm-size 8g 핵심)
|
|
docker run -d --name "$NAME" --gpus all \
|
|
--shm-size="$SHM" \
|
|
-v "$WORKSPACE:/workspace" \
|
|
-w /workspace \
|
|
--restart unless-stopped \
|
|
"$IMAGE" sleep infinity
|
|
echo " ✓ 새 컨테이너 시작 (shm-size=$SHM)"
|
|
|
|
# 4. .netrc 복원
|
|
if [ -f "$NETRC_BAK" ]; then
|
|
docker cp "$NETRC_BAK" "$NAME":/root/.netrc
|
|
rm "$NETRC_BAK"
|
|
echo " ✓ /root/.netrc 복원 (wandb login 유지)"
|
|
fi
|
|
|
|
# 5. setup_server.sh 자동 실행 (paddle/PaddleOCR/cuDNN 등 재설치)
|
|
echo
|
|
echo " → setup_server.sh 실행..."
|
|
docker exec "$NAME" bash /workspace/kr_lp_pgnet/scripts/setup_server.sh
|