(core): Docker stdout is not printed on error during bundling
#20.892 aberto em 28 de jun. de 2022
Métricas do repositório
- Stars
- (10.710 stars)
- Métricas de merge de PR
- (Mesclagem média 14d 11h) (68 fundiu PRs em 30d)
Description
Describe the bug
In quite a few different scenarios, Docker errors simply happen and "Docker returned 1" gets spat out.
I suspect Docker is writing to stderr but it is getting squashed somewhere.
Expected Behavior
Docker outputs (both stdout and stderr are preserved)
Current Behavior
Docker's error status isn't printed
Reproduction Steps
- Run
cdk synthon a stack that requires docker, but without permissions to talk to Docker's control plane - watch as it crashes and burns:
39907defbe84: Pull complete
8f7631647f07: Pull complete
d83e11d24ec9: Pull complete
b09b92bf5cf8: Pull complete
[WARNING]
software.amazon.jsii.JsiiException: docker exited with status 1
Error: docker exited with status 1
at dockerExec (/tmp/jsii-kernel-ENBrAx/node_modules/@aws-cdk/core/lib/bundling.js:355:15)
at Function.fromBuild (/tmp/jsii-kernel-ENBrAx/node_modules/@aws-cdk/core/lib/bundling.js:243:9)
at new Bundling (/tmp/jsii-kernel-ENBrAx/node_modules/@aws-cdk/aws-lambda-python/lib/bundling.js:28:86)
at Function.bundle (/tmp/jsii-kernel-ENBrAx/node_modules/@aws-cdk/aws-lambda-python/lib/bundling.js:43:50)
at new PythonFunction (/tmp/jsii-kernel-ENBrAx/node_modules/@aws-cdk/aws-lambda-python/lib/function.js:43:39)
The error that is being quashed here was Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImage=public.ecr.aws%2Fsam%2Fbuild-python3.7&tag=latest": dial unix /var/run/docker.sock: connect: permission denied