-
Notifications
You must be signed in to change notification settings - Fork 3k
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
openssl
command not found in Azure CLI 2.43.0 docker image
#24836
Comments
A really good description about openssl issue |
But
|
I agree that Azure CLI (az command) is the only tool that is guaranteed to work. The image should only contains the main program to keep it small and simple. The official Best practices for writing Dockerfiles also suggests Don’t install unnecessary packages. I think the right thing to do is remove it from docker in breaking window. In Python-alpine Dockerfile, the building dependencies are added in the
|
We have released a new image for |
Why did you remove openssl after version 2.53.1? |
Symptom
The latest Azure CLI 2.43.0 docker image doesn't contain
openssl
command anymore.This causes failure if a user's workload relies on
openssl
command.Root cause
According to Alpine Linux 3.17's release history:
https://alpinelinux.org/posts/Alpine-3.17.0-released.html
openssl
package inalpine:3.17
is now OpenSSL 3.0:OpenSSL 3.0 is not compatible with
cryptography
3.3.2 which Azure CLI currently uses. For compatibility withcryptography
, we now installsopenssl1.1-compat
:openssl1.1-compat
installs/usr/bin/openssl1.1
command:Because
openssl
package is not installed anymore,/usr/bin/openssl
command is not available.For the released docker image, Azure CLI (
az
command) is the only tool that is guaranteed to work. The availability of other tools or packages are not guaranteed. If you rely on a certain tool or package such asopenssl
, you have to manually install it withapk add
before using it.However, it is still a good practice for us to explicitly mention such changes. For example:
jmespath-terminal
from docker image #21206Proposed solutions
openssl
, either in the docker image by us or by your own workload. This will makeopenssl
command available again, but this may introduce other breaking changes asopenssl
3.0 may not be backward compatible withopenssl
1.1, even though they share the same name.openssl1.1
in your workload, until you have fully testedopenssl
3.0 works as expected with your workload.openssl
in Azure CLI 2.44.0.openssl
that points toopenssl1.1
in the docker image, but this is very difficult to maintain and introduces more inconsistency and complexity.Additional information
#22864 unpinned the base image Alpine Linux version. Now I am more inclined not to do so, as Alpine Linux frequently introduces breaking changes. We should also declare the version update in our history notes if we update the underlying base image version. However, a side effect is that CVEs of the base image can't be fixed automatically and quickly, which is the original motivation for unpinning it.
The text was updated successfully, but these errors were encountered: