English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Docker مبني على نواة Linux، في الوقت الحالي، يدعم نظام التشغيل Linux الشائع Docker بشكل مسبق ويوفر تجربة استخدام أفضل، بالطبع، يدعم Docker أيضًا منصات Windows وMacOS، ولكن يجب استخدام أدوات تحويل مثل Boot2Docker لتقديم دعم Linux.
سأقوم بشرح الفرق بين بدء الصناديق بناءً على صورة المحرر Docker التي تم إنشاؤها بالطريقتين المختلفتين، يمكن للزوار المهتمين متابعة هذا الدرس معي!
1. يمكن تحميل سكريبت بدء التطبيق الخاص بك عند بدء تشغيل صورة المحرر التي تم إنشاؤها باستخدام docker commit، مثلًا:
docker run -d -P tomcat7.0b:jdk1.6 /run.sh
أخيرًا، /run.sh هو ملف بدء تطبيق Tomcat، مما يعني أنه عند بدء تشغيل الصندوق، يتم بدء تطبيق Tomcat أيضًا. وإلا فإن الصندوق يتم بدء تشغيله فقط، وليس هناك بدء للتطبيق الخاص بك.
محتويات run.sh كالتالي:
#!/bin/bash /usr/sbin/sshd -D & exec ${CATALINA_HOME}/bin/catalina.sh run
والمهم، هذا الصندوق مبني على صورة المحرر Docfile التي تم إنشاؤها من خلال صورة المحرر، إذا قمت بتنفيذ عملية ثم استخدمت docker commit لإنشاء صورة جديدة بناءً على هذا الصندوق، فإن الصندوق الناتج عن هذه الصورة الجديدة، يجب أن يتم تحميل سكريبت بدء التطبيق الخاص بك.
عند استخدام صورة المحرر Docfile لبدء تشغيل الصندوق، لا تحتاج إلى إضافة هذا السكريبت بعد
FROM sshd3:ubuntu MAINTAINER waitfish from dockerpool.com([email protected]) ENV DEBIAN_FRONTEND noninteractive RUN echo "Asia/Shanghai" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata RUN apt-get install -yq --no-install-recommends wget pwgen ca-certificates && apt-get clean && rm -rf /var/lib/apt/lists/* ENV CATALINA_HOME /tomcat ENV JAVA_HOME /jdk ADD apache-tomcat-7.0.69 /tomcat ADD jdk1.6.0_45 /jdk #ADD create_tomcat_admin_user.sh /create_tomcat_admin_user.sh ADD run.sh /run.sh RUN chmod +x /*.sh RUN chmod +x /tomcat/bin/*.sh EXPOSE 8080 CMD ["/run.sh"]
بسبب أن آخر جملة CMD تعبر عن استدعاء هذا السكربت عند بدء الحاوية.
ما ذكرته أعلاه هو تلخيص الفرق بين نوعين من إنشاء صورة Docker عند بدء الحاوية، آمل أن يكون هذا مفيدًا لكم. إذا كان لديكم أي استفسارات، فأرجو ترك تعليق، وسأقوم بالرد على رسائلكم في أقرب وقت. وأشكركم أيضًا على دعمكم لموقع呐喊 التعليمي!