لدي جهاز Ubuntu 12.04 محلي أريد تشغيل Docker عليه مع بعض التعليمات البرمجية للتطبيق. ومع ذلك ، يحتاج الرمز إلى قراءة البيانات من محرك أقراص USB عند توصيله. ولأن محرك الأقراص يمكن تبديله ، يبدو أن تركيب وحدة التخزين لا يعمل عند توصيل القرص الجديد. هل هناك طريقة لتهيئة Docker لذلك أن اكتشاف USB يتم تمريره إلى Docker بدلاً من نظام التشغيل المضيف فقط؟
استخدم أمر Docker run ومناقشته هنا:
https://docs.docker.com/engine/reference/run/#volume -shared-filesystems
يمكنك تحميل / dev باستخدام العلم -v. سيظهر أي جهاز يظهر على / dev في الحاوية. إذا قمت بذلك ، فمن المحتمل أن ترغب أيضًا في تغيير قيمة cgroup لتقييد الأذونات على جهاز USB فقط.
كتب جيروم في شركتنا أيضًا هذه المدونة حول القيام بذلك:
https://jpetazzo.github.io/2015/01/13/docker-mount-dynamic-volumes/
على الرغم من أنه ليس تغييرًا في الوثائق ، إلا أن الشيء الذي قد يكون لطيفًا هو أنه إذا تم تشغيل الحاوية بـ --privileged
، سيتم تثبيت /dev
على أنه devtmpfs
بدلاً من العادي tmpfs
حيث يتم ملء الأجهزة يدويًا بواسطة عامل الإرساء. باستخدام devtmpfs
، ستضيف النواة / تزيل إدخالات إلى /dev
تلقائيًا عند إضافة الأجهزة وإزالتها.
mstanleyjones هل تعرف ما إذا تم تحديث هذا في الوثائق؟
انا اشك فيها!
التعليق الأكثر فائدة
على الرغم من أنه ليس تغييرًا في الوثائق ، إلا أن الشيء الذي قد يكون لطيفًا هو أنه إذا تم تشغيل الحاوية بـ
--privileged
، سيتم تثبيت/dev
على أنهdevtmpfs
بدلاً من العاديtmpfs
حيث يتم ملء الأجهزة يدويًا بواسطة عامل الإرساء. باستخدامdevtmpfs
، ستضيف النواة / تزيل إدخالات إلى/dev
تلقائيًا عند إضافة الأجهزة وإزالتها.