لدي هذا في Dockerfile الخاص بي:
...
CMD bash on-start.sh
يمكنني تشغيله باستخدام هذا وأحصل على غلاف تفاعلي حسب الرغبة.
$ docker run -it imagename
$ _
لكنها لا تعمل عند القيام بذلك:
$ docker-compose up
...
exited with code 0
إذا قمت بذلك ، فإنه يعمل أيضًا ، لكن الخدمات التابعة لم تبدأ.
$ docker-compose run myservice
$ _
الإصدارات الخاصة بي:
$ docker --version
Docker version 1.10.0, build 590d5108
$ docker-compose --version
docker-compose version 1.6.0, build d99cad6
ربما تريد استخدام stdin_open: true في ملف الإنشاء.
هذا هو السلوك المتوقع. up
ليس تفاعليًا. يمكن أن تبدأ حاويات متعددة ، لذلك لا يمكن أن يكون لديك محطة واحدة مفتوحة للحاويات المتعددة.
يجب أن يفعل run
ما تريد. إذا كنت تستخدم depends_on
فستبدأ التبعيات اعتبارًا من Compose 1.6.2 (تم إصلاح الخطأ في تكوين 1.6.1) ، لذلك ستحتاج إلى الترقية أيضًا.
تضمين التغريدة
دانيال ، أود أن أشكرك على ملاحظتك حول هذا الموضوع. لقد كنت أكافح لمدة يومين للحصول على حاوية تعمل في وضع تفاعلي على خادم Node حيث أحتاج أيضًا إلى إدخال بعض البيانات عبر الجهاز في النهاية الخلفية. لقد دفعتني صياغة ملاحظتك إلى النظر إلى مشكلتي من اتجاه مختلف. لقد نجحت القراءة البطيئة الطويلة لتفاصيل عامل الإرساء (بما في ذلك طريقة التشغيل) بالنسبة لي. شكرا جزيلا.
كنت أرغب في الحصول على وصول تفاعلي إلى pdb مصحح أخطاء Python الذي يعمل في بيئة إنشاء عامل ميناء. سمسم يمكنني القيام بذلك باستخدام docker attach myservice
التعليق الأكثر فائدة
ربما تريد استخدام stdin_open: true في ملف الإنشاء.