Repository navigation
|
Hi, We are currently experiencing issues with the Ubuntu Chiseled images we are using, particularly with the libicu package and SQL Server connection. Fortunately, we were able to solve the libicu package issue with the help of @mthalman 's workaround found here. However, we are still encountering problems with SQL Server connection, specifically related to the TLS version we are using, as outlined in this issue. We would like to apply a workaround that involves updating the openssl.cnf file, but we have been unable to do so as the Chiseled image does not have any shell or package manager. Are there any workarounds or alternative solutions that we could explore in order to update the openssl.cnf file? We believe that these two cases may be common issues encountered by others using these images, and it would be extremely helpful to document the solutions to these problems. Dockerfile: |
Replies: 2 comments 4 replies
|
Can I confirm that everything with the regular jammy image? |
|
Thanks for trying out the chiseled images. As you've experienced, they can be difficult to work with given the lack of shell. This is why multi-stage Dockerfiles are so useful in this context. You'll need to make all the necessary updates to the openssl.cnf file in a stage of the Dockerfile that is separate from the final, chiseled stage. In the Dockerfile you posted, this is what the Within the RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@SECLEVEL=1/g' /etc/ssl/openssl.cnf \
&& sed -i 's/MinProtocol = TLSv1.2/MinProtocol = TLSv1/g' /etc/ssl/openssl.cnfThen in the final stage, you simply copy that file over from the COPY --from=build /rootfs /
COPY --from=build /etc/ssl/openssl.cnf /etc/ssl/openssl.cnf |
Thanks for trying out the chiseled images. As you've experienced, they can be difficult to work with given the lack of shell. This is why multi-stage Dockerfiles are so useful in this context. You'll need to make all the necessary updates to the openssl.cnf file in a stage of the Dockerfile that is separate from the final, chiseled stage. In the Dockerfile you posted, this is what the
buildstage is used for because it has a shell.Within the
buildstage you can make the necessary updates to the openssl.cnf as suggested in the SqlClient repo: