Docker의 Wasm 지원
Docker Desktop은 이제 WebAssembly(Wasm) 런타임을 네이티브로 지원합니다. Linux 컨테이너 없이 Wasm 모듈을 직접 실행할 수 있습니다.
왜 Wasm인가
| 항목 | Linux 컨테이너 | Wasm 컨테이너 |
|---|---|---|
| 시작 시간 | ~1초 | ~1ms |
| 이미지 크기 | 50~500MB | 1~10MB |
| 메모리 | 50~200MB | 5~20MB |
| 보안 격리 | 커널 네임스페이스 | 샌드박스 (더 강력) |
실전 사용법
# Dockerfile.wasm
FROM scratch
COPY ./target/wasm32-wasip2/release/myapp.wasm /app.wasm
ENTRYPOINT ["/app.wasm"]
# 빌드 & 실행
docker buildx build --platform wasi/wasm -t myapp-wasm .
docker run --runtime=io.containerd.wasmedge.v1 myapp-wasm
적합한 사용 사례
- API 게이트웨이의 플러그인/필터
- 서버리스 함수 (콜드 스타트 1ms 이하)
- 엣지 컴퓨팅 (Cloudflare Workers, Fastly Compute)
- CLI 도구 배포
결론
Wasm 컨테이너는 Linux 컨테이너를 대체하는 것이 아니라 보완합니다. 빠른 시작 시간과 작은 크기가 중요한 워크로드에서 강력한 선택지입니다.
댓글 0