-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updating to alpine 3.17 broke our multibuild setup. #428
Comments
Maybe they should use a tag rather than a specific version because it's also always breaking our builds. |
or maybe a docker image that could be used for running a prebuild deploy-in that would also be the base for this image? |
Having the same error here:
Any idea on how can I work this around? |
For those having problems with nodejs (mostly web developers using elixir/phoenix), the upgrade to alpine 3.17 upgraded the nodejs versiont to 18, which uses a newer version of openssl and may break some nodejs packages. If you wanna fix your problem with minimal work being done, just the line below before any ENV NODE_OPTIONS=--openssl-legacy-provider |
Erased my previous comments, as I also found the solution to this problem:
The suggested way to bulid release images on elixir/phoenix, is by having a multi stage build that firstly uses a elixir image (which inherent the erlang image) and them using a base alpine image to move your release file and deploy. So, after this upgrade on alpine on the base version, you also have to change the final release image, like this: So, update your FROM alpine:3.16 AS app to this; FROM alpine:3.17 AS app Otherwise, the problem with the missing |
The last time we had this problem was because of libcrypto ( openssl ) which you can statically compile but ultimately we need to be able to reliably use the same version of alpine as the Dockerfile and the easiest way I feel is to create a new Dockerimage that is used as the base for a multi-stage build |
Thank you for the follow up! I've tried this also but the problem still there. Here's my Dockerfile:
|
@airton-soares maybe there is some build cache in action, so try to make sure its not using any cache at all on your build The only other thing that maybe is incorrect, is that it is missing |
We're still seeing this issue in our Dockerfile as well. We tried upgrading the release step to |
Now is everything ok! It was still in error because of the Kubernete pods not beeing healthy. Thank you! |
@airton-soares did you just add |
No, just upgrading the alpine version to 3.17 in my Dockerfile. It haven't work on the first try because my kubernete in production was in error status. Now is everything ok. Thank you guys. |
I am very sorry for having caused this trouble. The best solution would be to be able to specify the alpine version when referencing the builder image. This requires that both the erlang and elixir projects include such tags when releasing their docker images. Not sure if that is something that is going to happen anytime soon. |
For those that do not want "rolling changes" on their images, which may cause problems when building the app in production, the better solution is simply use hexpm/elixir or hexpm/erlang images, as they have many images with fixed erlang and alipine versions. Using a fixed alpine version may avoid problems with dependencies (like nodejs). |
This commit broke our docker multibuild setup completely. Because the bump of alpine version is not compatible with older alpine versions. Is this a common thing that's done? Is there any stale versions where you dont update the alpine versions?
50796c7
The text was updated successfully, but these errors were encountered: