هل هناك طريقة يمكنني تشغيل برنامج نصي باش داخل حاوية ثم قم بإزالة الحاوية, كل شيء في سطر واحد? يجب أن يكون البرنامج النصي قادرا على الكتابة إلى المجلد حيث يوجد حاليا.
لقد حاولت
docker run --rm -ti ubuntu:trusty bash -c 'source runme.sh'
ولكن باش لا يمكن العثور على الملف، وأنا على افتراض لأن الحاوية ليس لديها حق الوصول إلى المجلد حيث البرنامج النصي هو.
إذا كان البرنامج النصي غير متوفر داخل الحاوية ، تحتاج إلى تحميل البرنامج النصي كمجلد داخل الحاوية:
$ cat << EOF > sample_script.shecho 'Hello, world'EOF
قم بتشغيل حاوية عامل الميناء على النحو التالي (هنا, /path/to/sample_script.sh
هو المسار في المضيف):
$ docker run -v /path/to/sample_script.sh:/sample_script.sh \ --rm ubuntu bash sample_script.shHello, world
ستتم إزالة الحاوية بعد التنفيذ. ملاحظة لا تحتاج إلى تشغيله بشكل تفاعلي ، سيتم عرض الإخراج القياسي.
ال عامل الميناء تشغيل يحتوي المرجع على تفاصيل حول استخدام وحدات التخزين بهذه الطريقة.
إذا كان كل ما تريد القيام به هو تنفيذ البرنامج النصي يمكنك فقط استخدام باش لقراءة السيناريو من ستدين.
sample_script.sh < docker run --rm -i ubuntu bash -c 'source /dev/stdin'