কেন Testcontainers withEnv ইমেজ পুল প্রক্সি করে না
ব্যর্থ পুলের জন্য Docker ডেমন কনফিগার করুন; কন্টেইনারের প্রক্সি ভেরিয়েবল কন্টেইনার তৈরি হওয়ার পরেই প্রোগ্রামে পৌঁছায়।
যদি Testcontainers একটি ইমেজ পুল করার সময় ব্যর্থ হয়, তাহলে ভবিষ্যৎ কন্টেইনারের withEnv সেটিংস সাহায্য করতে পারে না। Docker ডেমন কন্টেইনারটি তৈরি হওয়ার আগেই সেই রেজিস্ট্রি ডাউনলোড সম্পন্ন করে।
| ব্যর্থ ক্রিয়া | যে প্রক্সি কনফিগারেশন দেখতে হবে |
|---|---|
| ইমেজ পুল | টেস্ট যে Docker ডেমন ব্যবহার করে এবং তার রেজিস্ট্রি পথ |
| চলমান কন্টেইনারের ভিতরে ডাউনলোড | সেই কন্টেইনারে অ্যাপ্লিকেশনের সমর্থিত ইনপুট |
| Java টেস্ট Docker বা অ্যাপের সাথে সংযোগ করে | যে Java ক্লায়েন্ট সেই সংযোগ করে |
দ্বিতীয় ক্ষেত্রে, বিদ্যমান GenericContainer সংজ্ঞায় পরিবেশ চলক যোগ করুন:
container
.withEnv("http_proxy", "http://proxy.example:8080")
.withEnv("https_proxy", "http://proxy.example:8080");কন্টেইনারের ভিতরের ডাউনলোডকে যদি একটি পাবলিক HTTP এন্ডপয়েন্ট ব্যবহার করার অনুমতি দেওয়া হয়, তাহলে সেই মানগুলি HTTP প্রক্সি তালিকা থেকে পূরণ করুন। ইমেজের প্রোগ্রামকে সেই চলকগুলি পড়তে হবে। এগুলি কোনো ইচ্ছাকৃত ডেটাবেস সকেটকে HTTP প্রক্সি ট্র্যাফিকে পরিণত করে না। এন্ডপয়েন্টটিও কন্টেইনার থেকে পৌঁছানোযোগ্য হতে হবে: এর 127.0.0.1 নিজেকেই নির্দেশ করে।
প্রথম ক্ষেত্রে, Testcontainers আসলে যে Docker পরিবেশ ব্যবহার করে তা খুঁজুন। দূরবর্তী ডেমন বা Docker Desktop স্থানীয় dockerd এর চেয়ে ভিন্ন উৎস থেকে কনফিগারেশন নিতে পারে। বিস্তৃত প্রক্সি ডিফল্ট যোগ করার সময় স্থানীয় টেস্ট পরিষেবা ও Docker API তাদের নির্দিষ্ট পথে রাখুন।