ចូលប្រើប្រូកស៊ីរបស់ម៉ាស៊ីនមេពី Docker bridge container
ជ្រើសអាសយដ្ឋានប្រូកស៊ីដែល container អាចទៅដល់ ហើយបែងចែកចំណុចសាធារណៈពីប្រូកស៊ីលើម៉ាស៊ីន Docker។
សម្រាប់ container ធម្មតាក្នុងបណ្ដាញ bridge អាសយដ្ឋាន 127.0.0.1 ជា loopback របស់ container ផ្ទាល់។ ប្រូកស៊ីដែលស្ដាប់លើ localhost របស់កុំព្យូទ័រយួរដៃ មិនស្ដាប់ដោយស្វ័យប្រវត្តិនៅក្នុង container ទាំងអស់ទេ។
នេះពន្យល់ពីភាពខុសគ្នាដែលជួបញឹកញាប់៖ URL ប្រូកស៊ីដូចគ្នាដំណើរការក្នុង terminal របស់ម៉ាស៊ីនមេ ប៉ុន្តែការតភ្ជាប់ត្រូវបានបដិសេធក្នុង container។ អាសយដ្ឋាននេះសម្គាល់ចំណុចបណ្ដាញខុសគ្នានៅកន្លែងនីមួយៗ។
អាចប្រើប្រូកស៊ីសាធារណៈដោយផ្ទាល់
ប្រសិនបើចំណុចដែលជ្រើសពីសេវា ឬ បញ្ជីប្រូកស៊ី HTTP ពិតជាអាសយដ្ឋាន IP សាធារណៈដែលអាចទៅដល់ សូមផ្ដល់អាសយដ្ឋាននោះទៅកម្មវិធី ជំនួសឱ្យការប្ដូរទៅ localhost៖
docker run --rm \
-e HTTP_PROXY=http://203.0.113.10:8080 \
-e HTTPS_PROXY=http://203.0.113.10:8080 \
your-image
ជំនួសអាសយដ្ឋានឧទាហរណ៍ក្នុងឯកសារ និង image។ កម្មវិធីក្នុង image នៅតែត្រូវគាំទ្រអថេរបរិស្ថានទាំងនេះ។ Docker មិនប្ដូរ socket ទាំងអស់ទៅជាសំណើតាមប្រូកស៊ី ដោយគ្រាន់តែមានអថេរទាំងនេះទេ។
បើប្រូកស៊ីដំណើរការលើម៉ាស៊ីន Docker
Docker Desktop ផ្ដល់ host.docker.internal ដើម្បីចូលទៅអាសយដ្ឋានខាងក្នុងរបស់ម៉ាស៊ីនមេ។ ក្នុងការកំណត់ Engine ដើមដែលគាំទ្រ ការផ្គូផ្គងម៉ាស៊ីនមេអាចផ្ដល់ឈ្មោះធម្មតានេះ៖
docker run --rm \
--add-host host.docker.internal=host-gateway \
-e HTTP_PROXY=http://host.docker.internal:8080 \
-e HTTPS_PROXY=http://host.docker.internal:8080 \
your-image
វាប្ដូរការដោះស្រាយឈ្មោះ មិនមែនជាបញ្ជាបញ្ជូនច្រកទេ។ លើ Linux ដើម សេវាដែលចងតែទៅ loopback របស់ម៉ាស៊ីនមេ អាចនៅតែមិនអាចទៅដល់តាមអាសយដ្ឋាន bridge របស់ម៉ាស៊ីនមេ។ អ្នកស្ដាប់ ជញ្ជាំងភ្លើង និងផ្លូវរបស់ container ត្រូវអនុញ្ញាតការតភ្ជាប់នេះ។ បើកែអ្នកស្ដាប់ សូមកំណត់ឱ្យតែ client ដែលត្រូវការចូលប្រើ ជំនួសឱ្យ ការបង្កើតប្រូកស៊ីបើកចំហគ្មានការផ្ទៀងផ្ទាត់អត្តសញ្ញាណ។
សាកល្បងពីកន្លែងដូចគ្នានឹងកម្មវិធី
លទ្ធផល curl លើម៉ាស៊ីនមេ សាកល្បងតែផ្លូវរបស់ម៉ាស៊ីនមេប៉ុណ្ណោះ។ សូមធ្វើសំណើពាក់ព័ន្ធពីបរិស្ថាន container ហើយពិនិត្យថាវាទៅដល់ចំណុចដែលចង់បានឬអត់។
ពាក្យ «host» ក៏មានន័យថាម៉ាស៊ីនដែលដំណើរការ Docker Engine ដែរ។ ជាមួយ Engine ពីចម្ងាយ វាមិនចាំបាច់ជាកុំព្យូទ័រយួរដៃរបស់អ្នកទេ។ ដូច្នេះ IP loopback ដែលចម្លងពីកម្មវិធី desktop ក្នុងម៉ាស៊ីនផ្ទាល់ មានឱកាសតិចជាពិសេសក្នុងការដំណើរការដោយមិនកែនៅលើ builder ឬ server ពីចម្ងាយ។
សូមបែងចែកបញ្ហាទាញយក image ដាច់ដោយឡែក៖ daemon ទាញយក image មុនពេលកម្មវិធីអាចប្រើបរិស្ថានខាងលើ។