Docker Engine daemon.json: ਨਿੱਜੀ ECR ਅਤੇ S3 ਲਈ ਪ੍ਰੌਕਸੀ ਬਾਈਪਾਸ
VPC ਐਂਡਪੁਆਇੰਟਾਂ ਰਾਹੀਂ ਨਿੱਜੀ ECR ਇਮੇਜ ਪੁੱਲ ਕਰਨ ਲਈ HTTP ਪ੍ਰੌਕਸੀ ਬਾਈਪਾਸ ਕਰਦੇ ਸਮੇਂ S3 ਲੇਅਰ ਡਾਊਨਲੋਡਾਂ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖੋ।
ਨਿੱਜੀ ECR ਰਜਿਸਟਰੀ ਨਾਲ ਸਫਲ ਕਨੈਕਸ਼ਨ ਇਮੇਜ ਪੁੱਲ ਨੂੰ ਪੂਰਾ ਨਹੀਂ ਕਰਦਾ। ECR ਮੈਨਿਫੈਸਟ ਦਿੰਦਾ ਹੈ, ਜਦਕਿ ਇਮੇਜ ਦੀਆਂ ਲੇਅਰਾਂ Amazon S3 ਵਿੱਚ ਰੱਖੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਇਸ ਲਈ ਸਿਰਫ਼ ਰਜਿਸਟਰੀ ਨੂੰ ਕਵਰ ਕਰਨ ਵਾਲਾ ਬਾਈਪਾਸ ਲੇਅਰ ਡਾਊਨਲੋਡ ਨੂੰ ਵੱਖਰੇ ਰਸਤੇ 'ਤੇ ਛੱਡ ਸਕਦਾ ਹੈ।
VPC ਐਂਡਪੁਆਇੰਟਾਂ ਰਾਹੀਂ ਨਿੱਜੀ ਪਹੁੰਚ ਲਈ ਦੋਵੇਂ ਰਸਤੇ ਜਾਂਚੋ:
- ECR ਇੰਟਰਫ਼ੇਸ ਐਂਡਪੁਆਇੰਟ ਅਤੇ ਇਸ ਦੀ ਨਿੱਜੀ DNS ਸੰਰਚਨਾ।
- S3 ਐਂਡਪੁਆਇੰਟ, ਇਸ ਨਾਲ ਜੁੜੀਆਂ ਰੂਟ ਟੇਬਲਾਂ, ਅਤੇ ECR ਦੀ ਲੇਅਰ ਬਾਲਟੀ ਤੱਕ ਪਹੁੰਚ ਦੇਣ ਵਾਲੀ ਨੀਤੀ।
ਫਿਰ ਪੁੱਲ ਕਰਨ ਵਾਲੇ ਪ੍ਰੋਸੈਸ 'ਤੇ ਸੰਬੰਧਿਤ ਬਾਈਪਾਸ ਨਾਮ ਰੱਖੋ। ਮੌਜੂਦਾ daemon.json ਪ੍ਰੌਕਸੀ ਸੰਰਚਨਾ ਵਾਲੇ ਨੇਟਿਵ Docker Engine ਲਈ us-east-2 ਦੀ ਇੱਕ ਉਦਾਹਰਨ ਸੰਰਚਨਾ ਇਹ ਹੈ:
{
"proxies": {
"http-proxy": "http://proxy.example:8080",
"https-proxy": "http://proxy.example:8080",
"no-proxy": "123456789012.dkr.ecr.us-east-2.amazonaws.com,prod-us-east-2-starport-layer-bucket.s3.us-east-2.amazonaws.com"
}
}
ਉਦੇਸ਼ਿਤ ਐਂਟਰੀਆਂ ਨੂੰ daemon ਦੀਆਂ ਹੋਰ ਸੈਟਿੰਗਾਂ ਅਤੇ ਮੌਜੂਦਾ ਬਾਈਪਾਸ ਸੂਚੀ ਵਿੱਚ ਮਿਲਾਓ। ਜੇ ਹੋਰ ਜਨਤਕ ਰਜਿਸਟਰੀ ਡਾਊਨਲੋਡ ਜਨਤਕ ਵਿਚੋਲਾ ਵਰਤ ਸਕਦੇ ਹਨ, ਤਾਂ ਬਿਨਾਂ ਖਾਤੇ ਵਾਲੇ ਪ੍ਰੌਕਸੀ URL ਲਈ HTTP ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਉਮੀਦਵਾਰ ਦਿੰਦੀ ਹੈ; ਨਿੱਜੀ ECR ਅਤੇ S3 ਬਾਈਪਾਸ ਕਾਇਮ ਰੱਖੋ। ਖਾਤਾ, ਖੇਤਰ ਅਤੇ ਲੇਅਰ-ਡਾਊਨਲੋਡ hostname ਨੂੰ ਪੁੱਲ ਵੱਲੋਂ ਅਸਲ ਵਿੱਚ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਨਾਮਾਂ ਨਾਲ ਬਦਲੋ। S3 ਨਾਮਕਰਨ ਦੇ ਰੂਪ ਅਤੇ ਐਂਡਪੁਆਇੰਟ ਸੰਰਚਨਾਵਾਂ ਵੱਖਰੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ; ਇਹ ਉਦਾਹਰਨ AWS ਐਂਡਪੁਆਇੰਟਾਂ ਦੀ ਪੂਰੀ ਸੂਚੀ ਨਹੀਂ ਹੈ। daemon ਸੰਰਚਨਾ ਲਾਗੂ ਕਰਨ ਲਈ ਉਦੇਸ਼ਿਤ daemon ਮੁੜ-ਚਾਲੂ ਲੋੜੀਂਦਾ ਹੈ। Docker Desktop ਆਪਣੀਆਂ ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗਾਂ ਵਰਤਦਾ ਹੈ।
ਬਾਈਪਾਸ ਸਿੱਧਾ ਰਸਤਾ ਚੁਣਦਾ ਹੈ। ਇਹ ਗੁੰਮ S3 ਐਂਡਪੁਆਇੰਟ ਨਹੀਂ ਬਣਾ ਸਕਦਾ, ਰੂਟ ਟੇਬਲ ਨਹੀਂ ਜੋੜ ਸਕਦਾ, ਬਾਲਟੀ ਪਹੁੰਚ ਨਹੀਂ ਦੇ ਸਕਦਾ ਜਾਂ ਨਿੱਜੀ DNS ਠੀਕ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਬਾਈਪਾਸ ਨੂੰ ਵਿਆਪਕ AWS ਡੋਮੇਨਾਂ ਤੱਕ ਵਧਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਉਹ ਨਿਰਭਰਤਾਵਾਂ ਪੁਸ਼ਟੀ ਕਰੋ।
Docker ਕਲਾਇੰਟ ਦੀਆਂ ਕੰਟੇਨਰ-ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗਾਂ daemon ਦੇ ਇਮੇਜ ਡਾਊਨਲੋਡ ਸੰਰਚਿਤ ਨਹੀਂ ਕਰਦੀਆਂ। ਇਸੇ ਤਰ੍ਹਾਂ, ECR ਲੌਗਇਨ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਲੈਣ ਵਾਲੀ AWS CLI ਕਮਾਂਡ ਦੀ ਆਪਣੀ ਪ੍ਰੌਕਸੀ ਸੰਰਚਨਾ ਹੁੰਦੀ ਹੈ; ਜੇ ਉਸ ਵੱਖਰੀ ਬੇਨਤੀ ਨੂੰ ਵੀ ਨਿੱਜੀ ਪਹੁੰਚ ਚਾਹੀਦੀ ਹੈ ਤਾਂ ਇਸ ਦੀ API ਮੰਜ਼ਿਲ ਸ਼ਾਮਲ ਕਰੋ।