Empty ${localEnv:} in mount source should skip the mount, not pass empty source to Docker
Maintainer thường phản hồi trong vòng 1 ngày
@v-Kaniska244 đang làm issue này rồi.
Từ ngày 21/4/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Problem
When a devcontainer.json defines a mount using ${localEnv:SSH_AUTH_SOCK} and the environment variable is unset or empty, the CLI resolves it to an empty string and passes source=,target=/run/ssh-agent.sock,type=bind to docker run. Docker rejects this:
invalid argument "source=,target=/run/ssh-agent.sock,type=bind" for "--mount" flag: invalid value for 'source': value is empty
This is particularly problematic when using pre-built images (via devcontainers/ci) because the mount is baked into the image's devcontainer.metadata label and cannot be overridden at runtime (the spec merges mount arrays by concatenation).
Expected behavior
When ${localEnv:VAR} resolves to empty in a mount's source, the CLI should skip that mount entirely rather than passing an invalid empty source to Docker.
Reproduction
- Create a
devcontainer.jsonwith:"mounts": [ "source=${localEnv:SSH_AUTH_SOCK},target=/run/ssh-agent.sock,type=bind" ] - Run
devcontainer upin an environment whereSSH_AUTH_SOCKis unset - Observe Docker failure due to empty mount source
Context
- CLI version: 0.85.0
- Related: devcontainers/ci#166 (request to disable mounts in CI builds)
- This affects any CI/CD environment that uses pre-built devcontainer images where the build host had
SSH_AUTH_SOCKset but the runtime host does not
- Ngôn ngữ chính
- TypeScript
- Star
- 3k
- Fork
- 463
- Merge trung bình
- 13 giờ 28 phút
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của devcontainers/cli
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
devcontainers/cli#1203 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 68/100
devcontainers/cli#1178 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`devcontainer build` fails on Buildx 0.37.2 because the generated Dockerfile is outside the Compose bake contextCó thể đã có người làm @v-Kaniska244 đã nhận hôm nay. Đang mở
devcontainers/cli#1320 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Allow setting build attestationsĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
devcontainers/cli#1319 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 60/100
devcontainers/cli#1318 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của devcontainers/cli
Issue tương tự
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug] remember() with special characters in namespace hangs until timeout instead of returning 400Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
MystenLabs/MemWal#1133 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug user-priority/P2
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 Dưới một giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Effect-TS/effect#8881 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày