fix(execd): Add fallback from bash to sh for Alpine-based images#407
fix(execd): Add fallback from bash to sh for Alpine-based images#407Pangjiping merged 1 commit intoalibaba:mainfrom
Conversation
This addresses issue alibaba#405 by adding a getShell() helper function that first tries bash, then falls back to sh for Alpine-based Docker images that don't have bash installed by default.
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
|
SparkLabScout seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
|
Thanks for fixes. Please sign CLA and I will review and merge those changes as soon as possible. |
|
Perhaps the ref: https://github.com/alibaba/OpenSandbox/blob/main/components/execd/bootstrap.sh
|
Pangjiping
left a comment
There was a problem hiding this comment.
LGTM. I'll get the remaining work done and make sure it's included in the next release. 😊
Summary
This PR addresses issue #405 by adding a fallback from bash to sh for Alpine-based Docker images.
Problem
In a lot of Docker images like Alpine-based images, they only contain
sh. They do not containbashby default, making it impossible to run any command using the execd.Solution
Added a
getShell()helper function that:bashusingexec.LookPathshif bash is not availableThis change has been applied to both locations where shell commands are executed (lines ~96 and ~231).
Testing
The fix is backward compatible - on systems with bash (like Ubuntu, Debian), it will continue to use bash. On Alpine-based images, it will automatically fall back to sh.