Nodes/tron/docker

tron

TRON FullNode Docker 가이드

4분 읽기 · docker

list목차(17)

TRON FullNode Docker 가이드

Docker로 TRON 메인넷 FullNode를 실행하는 방법입니다.
참고: Deploy A Node.

빠른 시작

1. 환경 변수 (선택)

cp .env.example .env
# 필요 시 DATA_DIR, JVM_XMX 수정

2. 빌드 및 실행

docker compose up -d

3. 로그 및 동기화 확인

docker compose logs -f
# 컨테이너 내 로그: docker exec tron-fullnode ls -la /data

데이터 디렉터리가 비어 있을 때 launcher가 스냅샷 필요 여부를 판단합니다. USE_SNAPSHOT=1(또는 SNAPSHOT_BASE_URL 설정)이면 자동으로 스냅샷을 스트리밍 다운로드·설치한 뒤 노드를 띄웁니다(용량·시간이 크게 듭니다). 설정하지 않으면 제네시스부터 동기화(매우 오래 걸림)하거나, 아래처럼 수동으로 스냅샷을 받을 수 있습니다.

포트

포트 용도
8090 HTTP API
50051 gRPC
18888 P2P (TCP/UDP)

데이터 디렉터리

${DATA_DIR:-./tron-data}가 컨테이너 내 /data에 마운트됩니다. 블록·DB가 여기에 저장됩니다.

Linux (프로덕션)

sudo mkdir -p /mnt/cryptocur-data/tron
sudo chown -R "$(id -u):$(id -g)" /mnt/cryptocur-data/tron
echo "DATA_DIR=/mnt/cryptocur-data/tron" >> .env

Mac/Windows

mkdir -p tron-data
# .env 기본값 ./tron-data 사용

스냅샷으로 동기화 가속

자동 설치 (권장)

데이터 디렉터리가 비어 있을 때만 동작합니다.

  • USE_SNAPSHOT=1
    필요 시 공식 스냅샷(기본: Asia Singapore, LevelDB)을 스트리밍 다운로드한 뒤 DATA_DIR에 풀고 노드를 시작합니다.
    용량이 매우 크고(2TB 이상) 시간이 오래 걸리므로, 디스크·네트워크 여유를 확인한 뒤 사용하세요.
  • SNAPSHOT_BASE_URL
    사용할 스냅샷 서버 URL. 미설정이면 USE_SNAPSHOT=1일 때 http://34.143.247.77 사용.
    공식 스냅샷 문서에서 지역별 URL 확인.
  • SKIP_SNAPSHOT=1
    데이터가 비어 있어도 스냅샷을 받지 않고 제네시스부터 동기화합니다.

예: .envUSE_SNAPSHOT=1 추가 후 docker compose up -d.
이미 데이터가 있으면 스냅샷 단계는 건너뜁니다.

수동 설치

  1. Main Net Database Snapshots에서 최신 FullNode 스냅샷 다운로드
  2. 컨테이너 중지: docker compose down
  3. 스냅샷 압축 해제 후 내용을 호스트의 DATA_DIR(예: ./tron-data)에 넣기
  4. docker compose up -d로 재시작

JVM 메모리

기본 -Xmx24g. 호스트 RAM에 맞게 .env에서 JVM_XMX 조정 (예: 16GB 서버면 JVM_XMX=12g). 물리 메모리의 80% 이하 권장.

java-tron 버전

빌드 시 TRON_VERSION으로 릴리스 태그 지정 (기본 GreatVoyage-v4.7.0).
Releases에서 최신 태그 확인.

TRON_VERSION=GreatVoyage-v4.7.1 docker compose build --no-cache
docker compose up -d

SolidityNode / SR 노드

본 Docker 구성은 FullNode 전용입니다. SolidityNode(--solidity)나 블록 생산 노드(--witness)는 config·실행 옵션이 다르므로, 필요 시 localhost 설치를 참고해 Dockerfile·launcher를 수정하거나 호스트에서 실행하세요.

하드웨어 권장

  • RAM: 32 GB 이상 (JVM 24g 사용 시)
  • 디스크: SSD 2.5 TB 이상
  • CPU: 16코어 권장

문제 해결

  • 동기화 느림: 스냅샷 사용, 디스크 I/O·네트워크 확인
  • OutOfMemoryError: JVM_XMX 낮추기
  • 포트 충돌: HTTP_PORT, GRPC_PORT 변경 또는 호스트에서 해당 포트 사용 중인 프로세스 확인

자세한 내용: localhost troubleshooting.

참고 링크

tron 다른 챕터