.env 파일에 정의된 HTTP/HTTPS URL 및 TCP 연결의 네트워크 연결성을 자동으로 테스트하는 도구입니다.
.env 파일에서 자동 검색 및 테스트
.env* 파일 일괄 테스트
.env로 시작하는 파일만 체크docker pull sanghaklee/ncc:latest
# 단일 .env 파일 테스트
docker run --rm -v $(pwd):/workspace sanghaklee/ncc -e .env
# 디렉토리의 모든 .env* 파일 테스트
docker run --rm -v $(pwd):/workspace sanghaklee/ncc -e ./env/
git clone https://github.com/SangHakLee/ncc.git
# 실행 권한 부여
chmod +x check.sh
# 테스트 실행
./check.sh -e .env
./check.sh -e <ENV_FILE|DIRECTORY> [옵션]
| 옵션 | 설명 |
|---|---|
-e, --env FILE|DIR | 테스트할 .env 파일 또는 디렉토리 (필수) |
-t, --type TYPE | 테스트 타입: all, ping, curl, dns (기본: all) |
-v, --verbose | 상세 출력 모드 |
-h, --help | 도움말 출력 |
-t, --type TYPE 테스트 타입 설명# 기본 테스트
./check.sh -e .env
# 디렉토리의 모든 .env* 파일 테스트
./check.sh -e ./env/
# 여러 파일 테스트
./check.sh -e .env.dev -e .env.prod
# HTTP 테스트만 수행
./check.sh -e .env -t curl
# TCP 포트 테스트만 수행
./check.sh -e .env -t tcp
# 상세 모드
./check.sh -e .env --verbose
호스트의 네트워크를 직접 사용
docker run --rm --network host \
-v /opt/app/:/workspace \
sanghaklee/ncc -e .env
커스텀 호스트 추가 사용
호스트 네트워크 모드를 사용하지 않고 각 서비스들은 별도의 bridge 네트워크를 갖는 경우가 많다.# /etc/hosts
my.db.com 192.168.100.5
--add-host로 docker run 시 사용할 호스트를 명시해준다.docker run --rm \
--add-host api.local:192.168.1.100 \
--add-host db.local:192.168.1.200 \
-v $(pwd):/workspace \
sanghaklee/ncc -e .env
http:// 또는 https://로 시작하는 값
# API 서버
API_URL=https://api.example.com
API_ENDPOINT=https://api.example.com/v1/health
# 인증 서버
AUTH_URL=https://auth.example.com
KEYCLOAK_URI=https://keycloak.example.com
# 기타 서비스
WEBHOOK_URL=https://hooks.slack.com/services/xxx
MONITORING_URL=https://grafana.example.com
IPv4:PORT 형식의 값
# 데이터베이스
MYSQL_HOST=172.16.151.7:3306
POSTGRES_HOST=172.16.151.8:5432
# 캐시 서버
REDIS_HOST=172.16.151.9:6379
MEMCACHED_HOST=172.16.151.10:11211
# 기타 서비스
CUSTOM_SERVICE=192.168.1.100:8080
MESSAGE_QUEUE=10.0.0.50:5672
DB_HOST=mysql.example.com # http/https나 IP:PORT 형식이 아님
LOCAL_API=http://localhost:8000 # localhost
INTERNAL_API=http://127.0.0.1:3000 # 127.0.0.1
PLACEHOLDER_URL=$API_URL # 변수 참조
HOSTNAME=my-server # 단순 호스트명
PORT=3000 # 단순 포트 번호
🔍 변수: API_URL=https://api.example.com
[DNS] nslookup api.example.com
✅ 성공 → 93.184.216.34
[PING] ping api.example.com
✅ 성공 (23.4 ms)
[HTTP] curl https://api.example.com
✅ 성공 (HTTP 200)
🔍 변수: DB_MYSQL=127.0.0.1:3306
[TCP] nc 127.0.0.1:3306
✅ 포트 3306 열림 (nc)
🔍 변수: DB_POSTGRE=127.0.0.1:5432
[TCP] nc 127.0.0.1:5432
❌ 포트 3309 연결 실패
Content type
Image
Digest
sha256:475710a55…
Size
9.7 MB
Last updated
11 months ago
docker pull sanghaklee/ncc