v.23.6Build/Testing/Packaging Improvement

Optimize Dockerfile RUN Layer with Conditional Installations and OS Upgrades

Split huge RUN in Dockerfile into smaller conditional. Install the necessary tools on demand in the same RUN layer, and remove them after that. Upgrade the OS only once at the beginning. Use a modern way to check the signed repository. Downgrade the base repo to ubuntu:20.04 to address the issues on older docker versions. Upgrade golang version to address golang vulnerabilities. #51504 (Mikhail f. Shiryaev).