[Dev] JUSSIをデバッグしてみる その2
今回は、ビルドしたものをデバッグしてみた。
ビルド
go build -o bin/jussi ./cmd/jussi
リモートサーバ
dlv exec ./bin/jussi --headless --listen=:2345 --api-version=2 --accept-multiclient
デバッグ開始
「すでに起動している dlv(デバッガ)に接続するだけ」 なので、
"remotePath": "/home/steem/github/jussi"は不要。
curl -s --data '{"jsonrpc":"2.0","method":"database_api.get_dynamic_global_properties","id":1}' http://localhost:9000
docker-compose.yml.debug
services:
jussi:
build:
context: .
dockerfile: Dockerfile.jussi
image: ojagggyo/jussi:debug
container_name: jussi-debug
command:
- dlv
- exec
- ./jussi
- --headless
- --listen=:2345
- --api-version=2
- --accept-multiclient
- --continue
cap_add:
- SYS_PTRACE
security_opt:
- seccomp:unconfined
ports:
- "9000:9000"
- "2345:2345"
environment:
- JUSSI_SERVER_HOST=0.0.0.0
- JUSSI_SERVER_PORT=9000
- JUSSI_CACHE_REDIS_URL=redis://redis:6379
- JUSSI_LOGGING_LEVEL=info
- JUSSI_LOGGING_FORMAT=json
volumes:
- ./DEV_config.json:/app/DEV_config.json:ro
depends_on:
- redis
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:9000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
redis:
image: redis:7-alpine
ports:
- "6379:6379"
command: redis-server /usr/local/etc/redis/redis.conf
volumes:
- redis_data:/data
- ./redis.conf:/usr/local/etc/redis/redis.conf:ro
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 30s
timeout: 10s
retries: 3
volumes:
redis_data:
networks:
default:
name: jussi-network