ហេតុអ្វី Testcontainers withEnv មិនបញ្ជូនការទាញយករូបភាពតាមប្រូកស៊ី
កំណត់រចនាសម្ព័ន្ធ Docker daemon សម្រាប់ការទាញយកដែលបរាជ័យ; អថេរប្រូកស៊ីរបស់កុងតឺន័រឈានដល់កម្មវិធីតែបន្ទាប់ពីបង្កើតកុងតឺន័រប៉ុណ្ណោះ។
ប្រសិនបើ Testcontainers បរាជ័យពេលទាញយករូបភាព ការកំណត់ withEnv របស់កុងតឺន័រនាពេលអនាគតមិនអាចជួយបានទេ។ Docker daemon គឺជាអ្នកធ្វើការទាញយកនោះពី registry មុនពេលកុងតឺន័រមាន។
| ប្រតិបត្តិការបរាជ័យ | ការកំណត់ប្រូកស៊ីដែលត្រូវពិនិត្យ |
|---|---|
| ការទាញយករូបភាព | Docker daemon ដែលការធ្វើតេស្តប្រើ និង ផ្លូវរបស់វាទៅ registry |
| ការទាញយកនៅក្នុងកុងតឺន័រដែលកំពុងដំណើរការ | ធាតុបញ្ចូលដែលកម្មវិធីគាំទ្រនៅក្នុងកុងតឺន័រនោះ |
| ការធ្វើតេស្ត 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 របស់វាចង្អុលទៅខ្លួនវា។
សម្រាប់ករណីទីមួយ សូមរកបរិស្ថាន Docker ដែល Testcontainers ពិតជាប្រើ។ daemon ពីចម្ងាយ ឬ Docker Desktop អាចយកការកំណត់ពីប្រភពផ្សេងពី dockerd មូលដ្ឋាន។ រក្សាសេវាកម្មតេស្តមូលដ្ឋាន និង Docker API នៅលើផ្លូវដែលបានបម្រុងទុក ពេលអ្នកបន្ថែមប្រូកស៊ីលំនាំដើមធំទូលាយ។