[공동 편집] WebSocket Node 서버 — Docker 가이드

Docker 컨테이너에서 WebSocket 기반 실시간 공동 편집 서버를 실행하는 방법을 안내합니다.

서버를 설치하고 실행하는 데 필요한 .tar 파일은 별도로 제공됩니다. 파일과 자세한 안내는 기술 지원팀에 문의합니다.

단계

이미지 불러오기

# Move to the directory containing the tar file
cd <path/to/tar>

# Load the tar file as an image
docker load -i <filename>.tar

# Example
cd C:/workspace
docker load -i collaboServer.tar

이미지 확인

docker images

컨테이너 시작

docker run -e PORT=<container port> -p <host port>:<container port> <imageId>

# Example
docker run    -e PORT=1234 -p 1234:1234 0e8f4af55097
docker run -d -e PORT=1234 -p 1234:1234 0e8f4af55097   # background
  • 호스트 포트 — 외부 서비스가 호스트의 이 포트로 접근하며, 트래픽이 컨테이너로 전달됩니다.
  • 컨테이너 포트 — 컨테이너가 내부적으로 수신 대기하는 포트입니다.

로그

Docker를 통해

# All logs
docker logs <containerId>

# Follow
docker logs -f <containerId>

로그 파일

컨테이너 내부의 ./logs에 파일로 저장되며, 일자별로 분할되며 오류 로그는 별도 파일로 남습니다. 로그에는 다음이 포함됩니다:

  • 서버 시작 및 상태
  • 문서 생성 / 삭제 및 사용자 연결 정보
  • WebSocket 및 Redis 오류
  • 예외

컨테이너가 실행 중인지 확인하기

docker ps -a

컨테이너 중지

docker stop <containerId>

# Example
docker stop 62409c6ddba3

PM2로 프로세스 모니터링하기

# Open a shell inside the container
docker -it exec <containerId> /bin/bash

# Monitor processes
pm2 monit

PM2는 Node.js 프로세스를 계속 실행 상태로 유지하며 비정상 종료 후에 재시작합니다.