sbx ports — 샌드박스 포트 공개 관리
sbx ports — 샌드박스 포트 공개 관리
sandbox의 하위 명령인 sbx ports는 샌드박스 포트 공개(publishing)를 관리해요. 샌드박스 포트를 나열·공개·공개 해제할 수 있어요.
출처: 문서
본문
설명 (Description)
샌드박스 포트 공개를 관리해요.
샌드박스 포트를 나열·공개·공개 해제해요. 로컬 포트를 공개하면 호스트 바인딩을 만들기 전에 중지된 샌드박스를 시작해요. --publish 또는 --unpublish 플래그가 없으면 공개된 모든 포트를 나열해요.
포트 사양 형식: [[HOST_IP:]HOST_PORT:]SANDBOX_PORT[/PROTOCOL]
HOST_PORT를 생략하면 임시(ephemeral) 포트가 자동으로 할당돼요.HOST_IP를 생략하면 포트가 루프백에 바인딩되며, PROTOCOL과 샌드박스의 주소 패밀리에 따라 확장돼요:tcp/udp는 127.0.0.1과::1둘 다에 바인딩(tcp/udp는 IPv4 전용 샌드박스면 127.0.0.1만);tcp4/udp4는 127.0.0.1만;tcp6/udp6는::1만.- 지원 프로토콜:
tcp,tcp4,tcp6,udp,udp4,udp6.
PROTOCOL 없이 공개하면 tcp4가 사용돼요 — 그래서 IPv4에서만 듣는 샌드박스 서비스가 호스트 클라이언트가 ::1을 피하지 않아도 도달 가능해요 — HOST_IP가 IPv6 주소면 tcp6이 사용돼요. tcp를 명시하면 두 패밀리 모두에 바인딩해요.
PROTOCOL 없이 공개 해제하면 같은 기본값 또는 dual-stack tcp로 공개했든 매핑이 제거돼요. tcp6 또는 udp 매핑을 제거하려면 프로토콜을 명시해요. 남은 것은 보고돼요.
--cloud 사용 시:
클라우드 샌드박스의 노출된 포트를 관리해요.
ID(sbx_*) 또는 이름으로 주어지는 클라우드 샌드박스의 포트를 나열·공개·공개 해제해요. --publish/--unpublish 플래그가 없으면 노출된 포트를 나열해요.
포트는 샌드박스 포트 번호만 또는 /tcp 접미사가 붙은 값이에요. UDP와 호스트 바인딩은 거부돼요. 클라우드 컨트롤 플레인이 노출된 각 포트에 공개적으로 도달 가능한 URL을 할당해요.
옵션 (Options)
| 옵션 | 기본값 | 설명 |
| --json | | JSON 형식으로 출력 (포트 나열용) |
| --publish | | 포트 공개 (반복 가능): [[HOST_IP:]HOST_PORT:]SANDBOX_PORT[/PROTOCOL] (로컬) 또는 SANDBOX_PORT[/tcp] (클라우드) |
| --unpublish | | 포트 공개 해제 (반복 가능): [HOST_IP:]HOST_PORT:SANDBOX_PORT[/PROTOCOL] (로컬) 또는 SANDBOX_PORT[/tcp] (클라우드) |
전역 옵션 (Global options)
| 옵션 | 기본값 | 설명 | | --cloud | | 로컬 sandboxd 대신 Docker Cloud Sandboxes API로 디스패치 (점점 더 많은 동사 지원 — 현재 목록은 'sbx --cloud --help' 실행) | | -D, --debug | | 디버그 로깅 활성화 |
예시 (Examples)
# 공개된 포트 나열
sbx ports my-sandbox
# 샌드박스 포트 8080을 임시 호스트 포트로 공개
sbx ports my-sandbox --publish 8080
# 특정 호스트 포트로 공개
sbx ports my-sandbox --publish 3000:8080
# 포트 공개 해제
sbx ports my-sandbox --unpublish 3000:8080
# 클라우드 샌드박스에 포트 8080 노출
sbx --cloud ports sbx_abc123 --publish 8080
# 클라우드 샌드박스에서 노출된 포트 제거
sbx --cloud ports sbx_abc123 --unpublish 8080
더 알아보기 (Learn more)
- 샌드박스 시작 시 포트 공개는
sbx run --publish을 참고해요.