Hello @Jake White ,
It looks like you are facing intermittent TLS handshake errors and for some of the operations (not all). This could be due to below reasons:
- Network Latency/DNS: Slow or misrouted connections to ACR, especially if agents and ACR are in different regions.
- High Concurrency: Multiple parallel image pushes or layers can hit throughput limits or cause resource contention.
- Transient Load or Throttling: ACR or client under heavy load during handshake.
Recommended Fixes:
- Optimize Network Path:- ->Place build agents in same region as ACR.
-> Check DNS resolution (nslookup <registry>.azurecr.io) and latency. -> Allow direct outbound access to *.azurecr.io on port 443. - Reduce Concurrency:- ->Push images sequentially or limit Docker concurrent uploads ("max-concurrent-uploads": 1). -> Add retry with backoff (e.g., 10–15 sec delay). -> Use Premium for higher throughput and concurrent operations.
- Pipeline Best Practices: -> Single login per job; reuse session. -> Consider self-hosted agent in same region.
Additionally, I saw this issue was reported in the past, specifically for pushing images via docker to ACR and below solution was recommended for the same, so kindly try out this as well.
Step1: Verify docker Deamon proxy configuration at
/etc/systemd/system/docker.service.d/proxy.conf
Step2: Flush changes once
sudo systemctl deamon-reload
Step3: Restart docker
sudo systemctl restart docker