الأمر الذي تحاول فعله، وهو طباعة قيمة WORKDIR
أثناء بناء صورة Docker، لا يمكن تحقيقه مباشرة باستخدام الأمر ECHO
لأن ECHO
هو أمر تستخدمه في نظام التشغيل (مثل Windows Command Prompt أو Linux Shell)، ليس في سياق Dockerfile.
بدلاً من ذلك، يمكنك استخدام توجيه الإخراج(Output redirection) لتحقيق هذا الهدف في Dockerfile. يمكنك استخدام RUN
لتنفيذ الأمر وتوجيه الناتج إلى ملف أو الاستفادة من تقنية الدمج والتوجيه (Piping) لإرسال الناتج إلى الأمر echo
، مثلما يلي:
DockerfileRUN echo "WORKDIR is: ${WORKDIR}" > output.txt
في هذا المثال، يتم كتابة نص “WORKDIR is: ” مع قيمة WORKDIR
إلى ملف output.txt
أثناء عملية بناء الصورة. يمكنك بعد ذلك قراءة محتوى هذا الملف لمعرفة قيمة WORKDIR
التي تم استخدامها.
يرجى ملاحظة أن ملف output.txt
سيكون متاحًا داخل الصورة النهائية، لذا يمكنك فقط استخدام هذا النهج لأغراض تحليل الصورة.
المزيد من المعلومات
بالطبع! في Dockerfile، يمكنك أيضًا استخدام أمر RUN
لتنفيذ الأمر pwd
الذي يعيد المسار الحالي، وبالتالي يمكنك رؤية قيمة WORKDIR
المحددة في ذلك الوقت. على سبيل المثال:
DockerfileRUN pwd
سيقوم الأمر أعلاه بطباعة المسار الحالي إلى الإخراج القياسي خلال عملية بناء الصورة.