قد تحتاج أحيانًا إلى نقل الملفات من حاوية Docker إلى النظام المضيف لأغراض النسخ الاحتياطي ، وما إلى ذلك. يمكن تحقيق ذلك بسهولة على Linux باستخدام أداة docker cp . إليك كيفية استخدامه.
  
xr: d: DAFds8YL9ik: 2، j: 43601822907، ت: 23032003
كيفية نقل الملفات من حاوية Docker إلى المضيف باستخدام Docker CP
إذا كنت بحاجة إلى نقل الملفات خارج حاوية Docker إلى النظام المضيف ، فإن أسرع وأسهل طريقة للقيام بذلك هي باستخدام أداة Docker CP. للبدء ، قم بتسجيل الدخول إلى الخادم الخاص بك عبر SSH ، أو عبر شاشة فعلية بواجهة طرفية .
  
بمجرد تسجيل الدخول ، قم بالوصول إلى حساب الجذر. يمكنك القيام بذلك بطريقتين. إما باستخدام الأمر su أو الأمر sudo -s .
سو
أو
sudo -s
بعد تسجيل الدخول ، قم بتشغيل الأمر docker ps . سيؤدي تشغيل هذا الأمر إلى إظهار جميع الحاويات قيد التشغيل. ابحث عن معرف الحاوية التي تخطط لنقل الملفات منها. بعد ذلك ، استخدم الأمر التالي لتسجيل الدخول إلى الحاوية.
ملاحظة: استبدل $ id بمعرف الحاوية الخاص بك.
docker exec -it $ id / bin / bash
الآن بعد أن قمت بتسجيل الدخول إلى حاوية Docker الخاصة بك باستخدام الأمر docker exec أعلاه ، ستحتاج إلى التنقل في الحاوية وضغط الملفات التي ترغب في نقلها باستخدام Docker CP.
في هذا المثال ، سنستخدم مجلد "test" في الدليل /root/. ستحتاج إلى تعديل هذا الأمر ليناسب احتياجاتك.
tar -czvf my-archive.tar.gz / root / test /
بعد ضغط الملفات ، اخرج من الحاوية. يمكنك الخروج من الواجهة الطرفية في حاوية Docker الخاصة بك باستخدام أمر الخروج التالي .
مخرج
أخيرًا ، انقل ملفاتك من الحاوية إلى النظام المضيف.
docker cp CONTAINER_ID: /path/to/archive.tar.gz / host / system / folder /
نقل الملفات بدون ضغط
بينما لا يوصى بنقل الملفات دون ضغطها أولاً (حفاظًا على السلامة) ، يمكنك ذلك. إذا كنت ترغب في نقل دليل يحتوي على بعض الملفات ، فإليك كيفية القيام بذلك.
أولاً ، حدد مسار المجلد بتسجيل الدخول إلى الحاوية. يمكنك تسجيل الدخول إلى الحاوية باستخدام الأوامر أدناه.
سو
docker exec -it $ id / bin / bash
بعد تحديد المسار إلى المجلد الذي ترغب في نقله للخارج ، اخرج من الحاوية. بعد ذلك ، قم بتشغيل الأمر docker cp التالي .
docker cp CONTAINER_ID: / path / to / your / folder / / host / system / folder /
كيفية نقل الملفات من المضيف إلى حاوية Docker باستخدام Docker CP
بالإضافة إلى نقل الملفات عبر حاوية Docker إلى المضيف ، من الممكن نقل الملفات من المضيف مرة أخرى إلى الحاوية. لذلك ، ابحث عن موقع الملفات التي ترغب في نقلها إلى حاوية عامل الإرساء.
عند تحديد موقع الملفات التي ترغب في نقلها ، استخدم الأمر التالي لضغطها. يؤدي ضغط المجلد إلى تسهيل عملية النقل.
tar -czvf my-archive.tar.gz / path / to / your / folder /
بعد ضغط المجلد في أرشيف Tar.GZ ، ستحتاج إلى الحصول على معرف الحاوية التي ترغب في نقل الملفات إليها. أولاً ، قم بتسجيل الدخول إلى الجذر باستخدام su أو sudo -s .
سو
أو
sudo -s
بعد تسجيل الدخول إلى حساب الجذر ، قم بتشغيل الأمر docker ps . سيعرض هذا الأمر معلومات حول جميع الحاويات قيد التشغيل. يمكنك بعد ذلك أخذ هذه المعلومات واستخدام الأمر docker cp لنقل أرشيفك المضغوط.
عامل ميناء ملاحظة
عامل ميناء cp /path/to/my-archive.tar.gz CONTAINER_ID: / path / to / destination /
نقل الملفات بدون ضغط
إذا كنت ترغب في النقل إلى حاوية دون ضغط أي شيء ، فإليك كيفية القيام بذلك. أولاً ، قم بتسجيل الدخول إلى الجذر باستخدام su أو sudo -s . بعد تسجيل الدخول كجذر ، ابحث عن مسار المجلد الذي ترغب في نقله.
بمجرد حصولك على مسار المجلد ، استخدم الأمر docker ps للحصول على معرف الحاوية للحاوية التي ترغب في نقل الملفات إليها. بعد ذلك ، استخدم الأمر docker cp التالي لنسخ الملفات إلى نظامك.
docker cp / path / to / my / file / folder / CONTAINER_ID: / المسار / إلى / الوجهة /
كيفية نقل الملفات من حاوية Docker من المضيف باستخدام Rsync
يجب أن يكون استخدام الأمر docker cp كافيًا لنقل الملفات من المضيفين وإليه. ومع ذلك ، من الممكن أيضًا نقل ملفات Rsync من حاوية إلى المضيف. ضع في اعتبارك أنه يجب تمكين خادم SSH وتشغيله على الجهاز المضيف.
للبدء ، قم بتسجيل الدخول كجذر على خادم Linux المضيف الخاص بك عبر الجهاز. يمكنك تسجيل الدخول إلى حساب الجذر باستخدام su أو sudo -s . بعد تسجيل الدخول إلى حساب الجذر ، قم بتشغيل الأمر docker ps .
سو
أو
sudo -s
عامل ميناء ملاحظة
حدد موقع معرف حاوية Docker ، وقم بتسجيل الدخول باستخدام الأمر أدناه. ثم قم بتثبيت أداة Rsync باستخدام مدير الحاوية. تأكد من استبدال "$ id" بمعرف الحاوية.
docker exec -it $ id / bin / bash
بعد تثبيت Rsync باستخدام مدير الحاوية ، استخدم الأمر Rsync أدناه لمزامنة الملفات من الحاوية إلى المضيف.
rsync -avz -e ssh / path / to / local / files / user @ remote: / path / to / remote / files /