피드로 돌아가기
Building a devcontainer for Topaz: workspace mounts, DNS wildcards, and why /etc/resolv.conf always wins
Dev.toDev.to
Infrastructure

Wildcard DNS 및 TLS 자동화로 개발 환경 구축 진입장벽 제거

Building a devcontainer for Topaz: workspace mounts, DNS wildcards, and why /etc/resolv.conf always wins

Kamil Mrzygłód2026년 5월 12일13intermediate

Context

Azure Storage 및 Key Vault 등을 에뮬레이션하는 Topaz의 개발 환경 구축 시 수동 TLS 인증서 설정과 DNS 구성으로 인한 높은 Friction 발생. VS Code Dev Container의 Docker Compose 모드 사용 시 Workspace Mount 및 네트워크 설정의 불확정성으로 인한 실행 오류 직면.

Technical Solution

  • Deterministic 환경 구축을 위해 172.28.0.0/16 서브넷 기반의 Static IP 할당 구조 설계
  • VS Code의 불완전한 자동 Mount 대신 Docker Compose 파일 내에 명시적 Volume 선언을 통한 경로 확정
  • *.topaz.local.dev 도메인 처리를 위해 dnsmasq 기반의 DNS Sidecar 컨테이너 도입
  • 호스트 OS의 /etc/resolv.conf 우선순위 제약을 극복하기 위해 Sidecar 구조를 통한 네트워크 트래픽 라우팅 분리
  • 외부 드라이브 및 런타임 설정에 따른 Bind Mount 실패 가능성을 배제한 파일 배포 전략 채택

1. Docker Compose 기반 DevContainer 설계 시 Workspace Mount를 명시적으로 선언했는지 확인

2. Wildcard DNS 구현 시 호스트 OS의 resolv.conf 우선순위와 컨테이너 네트워크 브릿지 설정 대조

3. 외부 드라이브 사용 환경(Colima 등)에서 Bind Mount가 빈 디렉토리로 생성될 가능성을 검토

4. 서비스 간 의존성이 높은 환경에서 Static IP 할당을 통한 DNS 룰의 안정성 확보

원문 읽기