আমার পদ্ধতির কাজ মনে হচ্ছে, তবে সম্ভবত নির্বোধ। কেন এটা ভুল তা বলুন।
ডকার বিল্ড চলাকালীন সেট করা এআরজিগুলি ইতিহাসের সাবকম্যান্ড দ্বারা প্রকাশ করা হয়, সুতরাং সেখানে যান না। যাইহোক, একটি ধারক চালানোর সময়, রান কমান্ডে পরিবেশিত ভেরিয়েবলগুলি ধারকটির জন্য উপলব্ধ, তবে চিত্রটির অংশ নয়।
সুতরাং, ডকফাইফিলে, এমন কোনও সেটআপ করুন যা গোপন ডেটা জড়িত না। এর মতো কোনও সিএমডি সেট করুন /root/finish.sh
। রান কমান্ডে, ধারকটিতে গোপন তথ্য প্রেরণের জন্য পরিবেশগত ভেরিয়েবল ব্যবহার করুন। finish.sh
নির্মাণের কাজ শেষ করতে ভেরিয়েবলগুলি মূলত ব্যবহার করে।
গোপন ডেটা পরিচালনা করা সহজ করার জন্য, এটিকে এমন কোনও ফাইলে রাখুন যা --env-file
সুইচ দিয়ে ডকার রান দ্বারা লোড হয় । অবশ্যই, ফাইলটি গোপন রাখুন। .gitignore
এবং যেমন.
আমার জন্য, finish.sh
পাইথন প্রোগ্রাম চালায়। এটি নিশ্চিত হয়ে গেছে যে এটি আগে চালিত হয়নি, তারপরে সেটআপটি সমাপ্ত করে (উদাহরণস্বরূপ, জ্যাঙ্গোর মধ্যে ডাটাবেসের নাম অনুলিপি করে settings.py
)।