在一台虛擬機上使用docker pull時出現了x509錯誤,相關原因與對應方法簡單memo如下。
錯誤現象
在使用docker pull從dockerhub上下載鏡像時提示如下錯誤
docker: error pulling image configuration: Get <A href="https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/4c/4cbebbc9d3846093f6de718a9b273ca7e8731f85ff971c603e75c188c6cd61f9/data?verify=1550473606-D3BPaHfBCjGMlwzZoDAUpbexs%2BI%3D:">https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/4c/4cbebbc9d3846093f6de718a9b273ca7e8731f85ff971c603e75c188c6cd61f9/data?verify=1550473606-D3BPaHfBCjGMlwzZoDAUpbexs%2BI%3D:</A> x509: certificate has expired or is not yet valid.<BR> See 'docker run --help'.
原因
雖然x509為認證相關的問題,但是經過確認為虛擬機的時間與實際時間發生過大偏差所導致。這個問題在進行k8s集群創建時多個節點時間如果不同步也會經常出現。
對應方法
使用ntpdate進行同步或者直接設定時間即可。
聯網狀態下的設定命令:ntpdate cn.pool.ntp.org
