lambci / docker-lambda

Docker images and test runners that replicate the live AWS Lambda environment
MIT License
5.83k stars 431 forks source link

Wrong ImageMagick version #280

Closed squeral closed 4 years ago

squeral commented 4 years ago

I'm using lambci/lambda:build-go1.x to build my Lambda code but I noticed the installed version of ImageMagick is not the same running on Lambda.

Installed Packages (lambda)
ImageMagick.x86_64                 6.7.8.9-15.21.amzn1             @amzn-main
Installed Packages (lambci container)
ImageMagick.x86_64                 6.9.10.68-3.22.amzn1            @amzn-updates
ImageMagick-devel.x86_64           6.9.10.68-3.22.amzn1            @amzn-updates
mhart commented 4 years ago

You're right – it seems that the Lambda version has been held back, whereas the build image will install the latest available version of the devel tools: https://github.com/lambci/docker-lambda/blob/4143ed38a2882a45d6945085cb3895d142d1df11/base/build/Dockerfile#L20

I'll pin the version to prevent it from being updated. It's a little brittle to do it this way because yum requires exact version matching – so if the Lambda version updates even slightly, then the build version will need to be manually updated too

mhart commented 4 years ago

Done! You should find the correct version in the build images now:

$ docker run --rm lambci/lambda:build-go1.x yum list installed | grep ImageMagick
ImageMagick.x86_64                 6.7.8.9-15.21.amzn1             @amzn-main   
ImageMagick-devel.x86_64           6.7.8.9-15.21.amzn1             @amzn-main   
squeral commented 4 years ago

Perfect! Thank you for the speedy fix.

grizzly-monkey commented 3 years ago

@mhart

lambci/lambda:go1.x has

yum list installed | grep ImageMagick
ImageMagick.x86_64                 6.9.10.68-3.22.amzn1            @amzn-updates

lambci/lambda:build-go1.x has

bash-4.2# yum list installed | grep ImageMagick
ImageMagick.x86_64                 6.7.8.9-15.21.amzn1             @amzn-main   
ImageMagick-devel.x86_64           6.7.8.9-15.21.amzn1             @amzn-main

samcli/lambda:go1.x-02ea09868051f32e8da46c7ee has

bash-4.2$ yum list installed | grep ImageMagick
ImageMagick.x86_64                 6.9.10.68-3.22.amzn1            @amzn-updates
docker images
REPOSITORY          TAG                               IMAGE ID            CREATED             SIZE
samcli/lambda       go1.x-02ea09868051f32e8da46c7ee   7023a261c353        16 minutes ago      733MB
lambci/lambda       go1.x                             ff832283a857        8 hours ago         719MB
lambci/lambda       build-go1.x                       5464ccbf15c8        7 days ago          2.51GB
mhart commented 3 years ago

Sigh, looks like they finally updated the Lambda versions. This should be fixed in the latest docker-lambda versions as of ba348567412478a65a687c7a95272be1fabcf563 @grizzly-monkey