[عزف الموسيقى] DAVID مالان: حسنا. شكرا جزيلا على حضوركم لك. هذا هو ندوة CS50 على عامل الميناء، ل التكنولوجيا التي نحن أنفسنا وCS50 وقد بدأ استخدام لبعض الوقت الآن. حتى اسمي ديفيد مالان، وأنا تدريس مقدمة هارفارد لعلوم الكمبيوتر. لعدد من السنوات، لقد تم اعطاء الطلاب تحميل العميل الأجهزة الظاهرية الذي يفعلونه مشاكل مجموعات الخاصة بهم. أننا قد انتقلت الآن في بيئة الغيمة في الواقع أن يستخدم هذه التكنولوجيا دعا عامل الميناء، مثل أن جميع CS50 الطلاب لديهم الآن على حاويات عامل الميناء الخاصة عليك أن نسمع قريبا كل شيء. وعلاوة على ذلك، على الخادم CS50 ل كتلة جانبية، لسنوات عديدة كنا باستخدام خادم سحابة أمازون. كنا نجري فرد الأجهزة الظاهرية. ذلك أيضا، بدأنا الانتقال إلى دعا حاويات عامل الميناء هذه الأشياء حتى يتسنى لجميع التطبيقات لدينا هي الآن معزولة تماما عن بعضها البعض. لذلك لذلك وأكثر من ذلك، اسمحوا لي أن نقدم الأصدقاء، نيكو ومانو، من عامل الميناء نفسه. NICOLA KABAR: شكرا، ديفيد. مرحبا جميعا. اسمي نيكو وهذا هو مانو. نحن من عامل الميناء. ونحن في طريقنا إلى أن نتحدث about-- مما يتيح لك الرجال في مقدمة لعامل الميناء، ونأمل في نهاية هذا الكلام يمكنك تحقيق كم يمكنك استخدام الطبيب ل أكسالات تطوير التطبيقات الخاصة بك ونشر. لذلك، نحن ذاهبون لتبدأ الحقيقي سريعة مع بعض المعلومات الأساسية. وصف ما هو عامل الميناء كل شيء. كيف تعمل؟ كيف يتم هندستها؟ سأكون القيام ببعض العروض. ومانو سيكون يصف كيف يمكنك استخدام عامل الميناء ومما يتيح لك خطوات محددة كيف يمكنك أن تبدأ. وسأكون ممتنا إذا يا رفاق يمكن أن تعقد إيقاف لأسئلتك نحو النهاية. بهذه الطريقة، وأنا يمكن أن تعالج تلك الأسئلة خلال العرض التقديمي. ولذا فإننا سوف تترك بعض الوقت نحو نهاية للأسئلة. حتى مجرد حقيقية سريعة، لديه فعلا عملت من أي وقت مضى على عامل الميناء، كما لعبت معها؟ رائع. رائع. رائعة. لذا، أنا ذاهب لبدء مع بعض التاريخ. ويعود ذلك في '90 و 2000s في وقت مبكر، في الأساس كما مطوري الويب، مطوري التطبيق، عندما ذهبوا لنشر تطبيق تم ربطه لالعارية المعدنية. وكان خادم واحد. وكان تطبيق واحد. تقليديا، مثال سيكون مثل كومة LAMP، حيث كان لديك فعلا ل طرح مجموعة من الموارد. وحدة المعالجة المركزية والذاكرة والقرص، شبكة، تركيب نظام التشغيل على رأس ذلك. إذا كنت تخدم شيئا، إذا كنت في الواقع وجود خادم الويب، كنت بحاجة الى شيء مثل أباتشي لخدمتها. إذا كان التطبيق الخاص بك يحتاج قاعدة البيانات، خلفية، كنت تثبيت شيء مثل الخلية، وهلم جرا. وإذا كنت في حاجة إلى وقت التشغيل، PHPs وعمل PHP بيثون هناك. وهكذا كان لدينا فعلا ل اتخاذ تلك الخطوات من أجل الحصول على ما يصل التطبيق الخاص بك وتشغيلها. إذا كنت في حاجة أكثر قوة حساب، كنت كان أساسا لاستدعاء الطبيب العمليات الرجل أو غال للذهاب ويجمعون جديدة قطعة من الأجهزة، وربط ذلك، وكان لديك لتكرار تلك عمليات مرارا وتكرارا. لذلك كانت هذه العملية مكلفة نسبيا. كان بالتأكيد بطيئة جدا. كان غير فعال. وفي الكثير من الحالات، لديك والمستغلة الأجهزة. لذلك، في أواخر 90s "و 2000s في وقت مبكر، وجاءت الأجهزة الظاهرية عبر. وكما ترون هنا في الصورة، أساسا ما فعلوا وتستخرج بركة موارد الأجهزة حرة ونوع من خدم تلك إلى الطبقات العليا، في هذه الحالة، ضيفا نظام التشغيل. والفكرة كلها من وجاءت الأجهزة الظاهرية عبر والتي ساعدت حقا الغيمة الحوسبة كما نعرفه اليوم. ذلك ما يعني ذلك هو أنت يمكن تشغيل نظام رصد السفن المتعددة، التي يعني أكوام متعددة، متعددة التطبيق على نفس الجهاز المادية. هذا ساعد بالتأكيد مع سرعة نشر التطبيق. بالتأكيد مع النفقات. لم يكن لديك للذهاب وقضاء الطاقة والوقت والموارد لالرف أكثر من ملقمات للوصول إلى المزيد من حساب. وسرعة جلب الواقع تلك الموارد تصل أسرع بكثير. رائعة. لذلك نحن حلها الجوع في العالم، أليس كذلك؟ لا، ليس فعلا. لذلك، الافتراضية بقدر ما هو ساعد بالفعل، معالجة هذه المشكلة، أنه قدم بالفعل الكثير من التحديات. وهبرفيسر بالتأكيد قدم الكثير من التعقيد، التعامل مع تلك الكامنة مجموعة من الموارد. انها أثقل بمعنى أنه قبل كان لديك نظام تشغيل واحد وهو مثل ثلاثة أو أربعة العربات على القرص. الآن، إذا كان لديك 10 آلات على الأجهزة واحد لديك لأن تتضاعف من قبل عدد من الآلات. انها بالتأكيد أكثر تكلفة بالمعنى كنت لا تزال يجب أن تحصل على ترخيص ل التكنولوجيا الافتراضية إذا لم تكن مفتوحة المصدر. ولكن، دعونا لا تأخذ كل الائتمان من الافتراضية. لأن ما حدث هو هناك الكثير من المداخن والكثير من البرامج التقنيات التي تم تمكينها بواسطة مدى سرعة كنت قادرا على الحصول على على الموارد مع الطفرة الغيمة. لذلك، اليوم التطبيق واحد أو خدمة يمكن يمكن استخدام أي من أوقات التشغيل التالية أو قواعد البيانات. PHP، بيثون، الخلية، رديس، غيرها. لذلك هناك الكثير من التعقيد على هذا عدد من مداخن لجلب فعليا خدمة واحدة. وإلى جانب ذلك، كان لديك الكثير من الموارد الأساسية أو البنية التحتية أنواع لاختبار نشر وأساسا تتخذ لإنتاج تلك التطبيقات ان كنت النامية. خصوصا مع فريقك نمت العمل على تلك التطبيقات، هناك الكثير من التعقيدات والتحديات التي جلبت لضمان وcycle-- تطبيق الأساس دورة التنمية، نجحت فعلا. لذلك، فإن حقيقة أن التطبيق الخاص بك تعمل محليا على VM المحلي لا يضمن أن زميلك سوف نتوقع نفس النتائج. وعندما كان الفريق هو العمليات المشاركة في اتخاذ ما لديك وتوظيفها في الإنتاج الحجم، وأيضا ليس هناك ضمان ان ما يجري في الواقع أن يحدث. ولذلك فإن هذا يترك لنا حقا big-- الكثير من علامات الاستفهام، الكثير من التحديات في الواقع تواجه بالمثل في الأيام. والتي ذكرتنا صناعة النقل البحري. وبالتالي فإن صناعة الشحن وكان الكثير من البضائع، كما ترون على الجانب الأيسر. وعلى الجانب الأيمن، هناك الكثير من، في الأساس، طرق لشحن تلك السلع. وما يحدث كزوجين وجاء الناس معا، وقال: نحن بحاجة إلى توحيد كيف نحن السفينة في الواقع تلك السلع. والازدهار، لديك الوسائط حاوية شحن. حتى أنها وافقت على الأكثر أحجام المشتركة للحاوية. كيفية التعامل معها. ما هي الطريقة بالضبط ما تحتاجه لتحميلها وتفريغها. وبالتالي، أن حقا ساعد صناعة النقل البحري. الآن التركيز أكثر من 90٪ نقل عالميا تستخدم تلك الحاويات. وهذا يقلل بالتأكيد نفقات فضلا عن الأضرار الناجمة عن الشحن. لذلك نحن نأخذ نفس النموذج، ونحن تطبيق برنامج تطوير اثنين من التطبيق الهندسة المعمارية، بمعنى أن الحاويات تولى الافتراضية مستوى واحد. وذلك بدلا من القيام بذلك على مستوى الأجهزة، أصبح أكثر من التشغيل مستوى النظام الافتراضية. ونحن نفعل ذلك من خلال توفير كل التطبيق في تلقاء نفسها خفيفة الوزن، معزولة، runnable، و المحمولة، والأهم من ذلك، وسيلة لحزم الواقع كل ما يحتاج إليه لتشغيل. في أي مكان يمكن تشغيله. لذلك، بغض النظر عما إذا كنت تقوم بتشغيل على البيئة ديف المحلية، الإنتاج الخاص البيئة والتدريج أو اختبار. بغض النظر عن ما وراء البنية التحتية هناك، كان لديك التطبيق العمل الوظيفي. لذلك هذا هو بالضبط ما الأساس حاويات القيام به لهذه المشكلة. وتتناول من قبل التعبئة والتغليف في مثل هذه الطريقة أنها يمكن أن يضمن هذا ما نشره بنجاح بغض النظر عن المكان الذي تعيش. حتى إذا كنت تريد الذهاب مثل، بوب انها لا تزال موافق. إذا كنت الخلط بينه وبين ما أقوله، انا ذاهب الى أن وضع على ذلك. فكيف يفعل عامل الميناء نفسه يصلح في هذه الصورة؟ لذلك عامل الميناء هو منصة مفتوحة بسهولة، والتأكيد بسهولة، لبناء السفن، تشغيل، والمحمولة خفيفة الوزن الذاتي حاويات التطبيق كافية في أي مكان. لذلك إذا كنت تأخذ شيئا من هذا الحديث، يرجى اتخاذ ما يلي. إذا كان لديك التطبيق الخاص بتشغيل محليا وأنت تطويره في استخدام منصة عامل الميناء، ونتوقع ان تنتشر هذه القوة بنجاح. بغض النظر عن ما هو البنية التحتية الأساسية. حتى إذا كان لديك عامل الميناء الحاويات وانها تعمل، ثم طالما هناك عامل الميناء محرك على side-- الآخر إذا البنية التحتية العملية الخاصة بك وباستخدام أي السحاب، سواء كان غير AWS، أو جوجل أو مايكروسوفت، أو أي من الغيوم العامة، أو السحب الخاصة بك، أو كومة المفتوحة سحابة، أو البيئة المحلية. إذا كان لديك محركا تشغيل، وهذا يعني انها سوف تكون نشر بنجاح هناك. انها سوف تكون قيد التشغيل بالضبط نفس السلوك كما كنت هندستها لها أن تكون. إذا نظرنا at-- أنا ذاهب للذهاب من خلال ما فعلا هي في المكونات الرئيسية للعامل الميناء. لذلك المحرك هو في صميم عامل الميناء. هو الدماغ. أنه ينسق بناء، الشحن، ونشر وإدارة الحاويات أنفسهم. أنا حفر في ما يفعل المحرك في مزيد من التفاصيل في الثانية. في الأساس، لأنها بنيت طبيب حول أبنية خدمة العملاء، وذلك من أجل التفاعل مع محرك تحتاج نوعا من العميل. الصور هي القوالب في التي الحاويات يتم بناؤها من. هذه الصور هي في الأساس ملفات فقط ثابتة. قوالب والحاويات هو في الواقع ما هو يشغل في وقت التشغيل التي يقضي طلبك أو تفعل شيئا مع البيانات. وتناول قلم كحل مشكلة كيف كنت في الواقع توزيع الصور. حتى إذا كنت تحتاج إلى مشاركة صورة الذي عمل على لزميلك أو لفريق مكتب خدمات المشاريع، كنت استخدامه باستخدام قلم. يمكنك تحميل مفتوح المصدر نسخة منه عامل الميناء عملت على وفتح مصدرها. أو يمكنك استخدام عامل الميناء المساعدة، والذي هو نسخة الغيمة لدفع وسحب الصور من هناك. هذا شيء كبير. بسبب وجود ضخمة النظام البيئي حول عامل الميناء وانها حقا الاستفادة بشكل كبير المحور. ذلك أن ألخص هنا، وهذا هو كيف يمكن لل الحد الأدنى عامل الميناء العميل سير العمل. أنت تتفاعل مع المضيف، في هذه الحالة هي الشياطين عامل الميناء. انها نفس الشيء المحرك. تفعل الأوامر مثل عامل الميناء بناء، وسحب، المدى. والمحرك نفسه يذهب ويفعل تلك الأشياء. لذلك إما أن يتفاعل مع التسجيل لسحب تلك الصور وطبقات من الصور. سواء إذا كنت ترغب في نشر وتشغيل حاويات، وقتل منهم، ورمي عليهم، غيرها. لذلك هذا يلخص سير العمل كل من هذه المكونات. لذلك إذا كنت تأخذ كل مكون في حد ذاته. لذلك المحرك، انها مجرد الخفي. انها سوف النوع من اللعب لدعم على لينكس لأنه لا تتطلب بعض الميزات نواة لينكس. ولكن ويندوز تعمل على فعل الشيء نفسه. ومن المفترض أن تكون معتمدة بواسطة Windows Server 2016. لذلك، مرة أخرى، والمسؤوليات مع المحرك هو، أو هي ل، وبناء الصور. سحب الصور من عامل الميناء المحور أو التسجيل الخاصة بك. إذا كنت فعلت مع تلك الصور أو يمكنك إنشاء صور جديدة، يمكنك دفع تلك العودة إلى التسجيل لتوزيعها على الفرق الأخرى. ومحاولة احتوائها محليا وإدارة دورة حياة حاويات محليا. بنيت حولها HTTP REST API. لذلك من الناحية الفنية يمكنك إرسال العميل الخاص بك طالما أنه يستخدم HTTP، وهو جدا آلية موحدة لاجراء محادثات مع محرك والكثير من الخدمات الأخرى. ويمكنك أن ترى من هنا أنه بغض النظر ما البنية التحتية هو، طالما كنت can-- جميع ما تحتاجه هو التشغيل نظام لينكس على وجه التحديد. ويمكن تثبيت عامل الميناء المحرك علاوة على ذلك، وأنها تعمل وينسق، في الأساس، كل هذه التطبيقات واحد، اثنان، والثلاثة هم حاويات الفعلية. ولهذا المحرك. كما ذكرت سابقا ل تحتاج إلى التفاعل مع المحرك، هناك عميل. ولكن في الواقع عند تثبيت عامل الميناء، فإنه يأتي مع ذلك. حتى يحصل على تثبيته، لذلك فمن ثنائي واحد. ويمكنك إجراء مكالمات المحلية لديك عامل الميناء المحرك. أو المكالمات عن بعد لمحركات النائية. أنها لا تستخدم HTTP، كما ذكرت سابقا. هناك عميل GUI يسمى Kitematic من عامل الميناء. وهناك بالتأكيد الكثير من الناس الآخرين الذين يبنون الكثير من واجهات التي تنفذ أساسا بعض HTTP يدعو لاجراء محادثات مع المحرك. فقط بعض الأوامر عينة. إذا كنت تفعل نسخة عامل الميناء، فإنه تظهر لك إصدار عميل وكذلك إصدار الملقم. إذا قمت بذلك معلومات عامل الميناء وسوف اقول لكم كل المعلومات حول عدد حاويات تعمل بنظام التشغيل أو خلق، وكم الصور لديك، وهلم جرا وهلم جرا. هنا لدي، في القادم ل مربع الماضي، ولدي طبيب التشغيل. لذلك هذه هي الطريقة التي انا فعلا إنشاء حاوية. وأنا يعطيها لصدى مرحبا العالم والنوم لفترة ثانية وغيرها. ويمكن أن ترى نتيجة. لذلك فمن الجاري. وعلى غرار لينكس ملاحظة، يمكنك ان ترى جميع العمليات و، في هذه الحالة، جميع الحاويات التوالي. مشيرا الى الوراء هذا واحد ل الحاوية أنا خلقت للتو. لذلك، وهذا هو المهم حقا لأنه، مثل، يمكن أن يكون مربكا بعض الشيء. هذه الصور هي للقراءة فقط مجموعة من الملفات، أليس كذلك؟ فهي ما يقوم الحاويات لدينا جرا. ولكنهم فقط للقراءة فقط. لذلك عليك أن تبدأ مع الصورة الأساسية. أنه يميل إلى تقليد مثل OS، لذلك أوبونتو، CentOS، صورة قاعدة غيرها. ومن ثم البدء في بناء على أعلى هذا، وبعض الطبقات، من شأنها أن تشكل صورة نهاية الخاص بك، والنتيجة النهائية هنا. ولكل من هذه الطبقات ينبغي أن يكون لها صورة الأم أنه يحيل الى حين يريد فعلا لخلق. فهي غير قابلة للتغيير، بمعنى ذلك لانهم قراءة فقط، لا يمكنك فعلا إجراء تغييرات عليها. يمكنك استخدامها لخلق حاوية من صورة، والتي سوف ندعو جميع احقا الصور المطلوبة تحته. يمكنك إجراء تغييرات إلى طبقة مختلفة، انها طبقة كتابة وسوف أكون الحديث عنها في الثانية. ولكن كل من هذه الطبقات يتم تغييرها أبدا. في الأساس الصور تستخدم شيئا دعا الاتحاد ملف النظام، UFS. وهناك تخزين مختلفة الخلفيات التي تستخدم هذه التكنولوجيا. وما يعنيه ذلك هو أنه يجمع أنظمة الملفات متميزة لجعلها تبدو وكأنها واحدة. حتى تتمكن من الواقع، من منظور التطبيق، لديك أعلى من الرأي القائل بأن العروض كل نظام الملفات المختلفة اللازمة من أجل ذلك التطبيق لتشغيل. ولكنها في الواقع، وعلى هذا، انهم في الواقع في أماكن منفصلة ويجري استخدامها من قبل الحاويات الأخرى كذلك. هكذا كما ترون هنا أن إذا بدأنا مع صورة شيطان كصورة القاعدة، ومن ثم نذهب في وإضافة [؟ ايماكس؟] ثم هذا طبقة أخرى. ثم قم بإضافة أباتشي. هذا هو طبقة أخرى. ثم نقضي حاوية من ذلك. كل من هذه الصور، كل من هذه الطبقات، يختلف ويمكن أن يكون إعادة استخدامها بواسطة الحاويات الأخرى. اذا نظرتم الى حاويات أنفسهم، انهم بطريقة أو بأخرى مثل VM-مثل، ولكن لم يتم علاجها في الوقت نفسه. لذلك، لم يكن لديهم، من الناحية الفنية، و نظام التشغيل الكامل تحتها. وهي استخدام نواة واحدة من نظام التشغيل المضيف. ويبنون على رأس ذلك. أنها تحاكي في كيف تبدو. أنها تحاكي ملف جذورها نظام من نظام التشغيل. ولكنها في الواقع ليست تكرار. لذلك، بدلا من الاضطرار طبقات غير قابل للتغيير، الطبقة الأخيرة، والذي هو حاوية نفسها، انها طبقة للقراءة والكتابة. الذي يعمل أيضا العمليات من التطبيق الخاص بك. وذلك يعتمد على الطبقات السفلية. كل الحاوية التي تم إنشاؤها من صورة. وهذه الصورة يمكن أن تكون واحدة طبقة أو صورة متعددة الطبقات. وأريد أن أشير هنا أن عامل الميناء يستخدم بشكل كبير، أو يقوم على آلية النسخ عند الكتابة. بحيث، في الواقع، إذا لم تكن إجراء تغييرات على الحاوية، انها لن تأخذ مساحة إضافية. ولهذا أساسا كيف تلخيص النسخ عند الكتابة. انها سوف تسرع بالتأكيد حتى في وقت التمهيد لالحاوية. لأنه إذا كنت لا يجعل تغييرات على الحاوية، انها تستخدم ما هو موجود أصلا. لذلك، وكيف تعمل في الواقع. جزء من انها مثل، الآن، فإنه تستخدم اثنين على الأقل النواة الرئيسية ميزات. وهذا هو أساسا ما خلق هذا المستوى من العزلة للحاويات أنفسهم. تلك الميزات هي مساحات وcgroups. حتى مساحات هي وسيلة ل خلق موارد معزولة، بحيث داخل الحاوية نفسها، فقط يمكنك ان ترى بعض الموارد. مثل واجهة الربط الشبكي أو مستخدمين معينين أو غيرها. وهؤلاء هم فقط مرئية والوحيد يمكن الوصول إليها داخل الحاوية. Cgroup على حدود الجانب الآخر كيفية استخدام تلك الموارد. وحدة المعالجة المركزية والذاكرة والقرص. عندما يمكنك الذهاب في، وأنا يعني هذه هي في الواقع الميزات التي تم تطويرها by-- انهم جزء من نواة لينكس. ذلك أنها لم تكن اختراع قبل أو صوغه من قبل عامل الميناء. عامل ميناء يستخدمها. ما طبيب فعلت حقا هنا هو فعلا خلق دبرت مساحات عن كل حاوية وخلق cgroups بحيث انها من السهل يبعث على السخرية لإنشاء حاويات استخدام هذه الميزات. بطبيعة الحال، كما وصفت في وقت سابق، الاتحاد أنظمة الملفات ونسخ عند الكتابة حقا مساعدة السرعة والقرص استخدام الحاويات. وبمجرد الحصول على الخاص بك الأيدي حول عامل الميناء، وأنت تسير لمعرفة مدى سرعة هو ل في الواقع دوران الحاويات والمسيل للدموع عليهم. لذا، إذا كنت قد تسأل، كيف يمكن كنت في الواقع بناء الصور؟ نحن نبني الصور عن طريق عملية خلق الحاويات وإجراء تغييرات، وتغيير لهم، وارتكابها لتصبح صورة. حتى انها الدجاج و إشارة البيض هنا، لأن جميع الحاويات تأتي من الصور والصور تأتي من الحاويات التي ارتكبت، بالنسبة للجزء الأكبر. هناك ثلاثة خيارات لإنشاء الصور. انا ذاهب الى وصف الأول والأخير. يمكنك إما يدويا اذهب وتشغيل الحاويات وجعل تلك التغييرات، كما كنت تفعل في أي VM أو أي نظام تشغيل، مثل كما تركيب ثنائيات جديدة، مضيفا أنظمة الملفات، وغيرها. ومن ثم الخروج، كما يمكنك ان ترى هناك. أنا تخرج حاوية بلدي. ثم أفعله عامل الميناء يرتكبها. وأنا ارتكاب ذلك. يمكنك أن ترى أن عدد هنا هو مجرد UUID، أو أول 12 بت من UUID. أو بايت من UUID. ثم ادعو انها صورة بلدي. وحتى الآن عامل الميناء يعتني تسجيل كل شيء أنا فعلت هذا وخلق الجديد صورة بناء على ذلك. أنا لا أريد أن أتحدث عن كتل القطران، ولكن هناك طريقة يمكنك الحصول على واحدة، إنشاء واحد، أو جعل واحدة طبقة الصورة باستخدام كتل القطران. ما أنا بصدد الحديث عن هذا وما تستخدم في الغالب اليوم، غير Dockerfile. وهو من الناحية الفنية أولا خطوة الآلي عن عامل الميناء نفسه. حتى Dockerfiles هي الأشياء التي كنت سنرى في الكثير من اتفاقيات إعادة الشراء جيثب اليوم. انها في الاساس مجرد ملف نص يصف بالضبط كيفية بناء الصورة. ولكل خط، فإنه يخلق في الواقع الحاوية، ينفذ هذا الخط، يرتكب تلك الحاوية إلى صورة جديدة، وكنت، في الأساس، استخدامه لجميع العمليات اللاحقة حتى تحصل على صورة الماضية. الذي هو في الأساس إنهاء الهدف هنا، في نهاية المطاف. وبعد exec-- بعد إرسال Dockerfile الخاص بك، والتي هو محض في النص، كنت تفعل عامل الميناء بناء واسم الصورة. وذكرتم في أن هذا هو حيث Dockerfile هو في. ويمكنك أن تتوقع أن ترى صورة بلدي كصورة أن لديك محليا. ذلك أن مجرد البصرية مثال على ما يجري. عليك أن تبدأ مع الصورة الأساسية. تشغيل ذلك في حاوية التي لا يغير من الصورة الأساسية نفسها. ولكن بدلا من ذلك يخلق إعادة كتابة طبقة على أعلى من ذلك حيث يمكنك إجراء التغييرات، في الذي يرتكب ويمكنك تكرار هذه العملية حتى لتحصل على الصورة النهائية. وبذلك، فإن كل بناء أخرى العملية يمكن استخدام نفس طبقات وsame-- الأساس عامل ميناء تخزين تلك الطبقات. بحيث إذا أفعله بالضبط نفس العملية، ولكن بدلا من تثبيت PHP، أنا تركيب بيثون. انها تنوي استخدام أباتشي وأوبونتو. لذلك بهذه الطريقة كنت تستخدم القرص. انها تستخدم ذاكرة التخزين المؤقت والصور المتوفرة هناك. الجزء الأخير هو السجل الذي هي الطريقة التي قمت بتوزيع الصور الخاصة بك. وكما ذكرت من قبل، هناك نسخة سحابة من ذلك، وهو عامل الميناء المحور. يمكنك الذهاب واستكشاف الكثير من، أساسا انها منتج SAS العام أن يمكنك لا تزال لديها صورا خاصة، ولكن هناك الكثير من الصور العامة. انها في الواقع غير محدود، يمكنك دفع الصور العامة غير محدودة هناك. وهذه هي الطريقة التي يمكن التعاون مع فريقك. يمكنك مجرد نقطة لهم في لك الريبو ويمكن تحميل البرنامج أو صورتك ويمكن تحميل البرنامج. حتى ما يكفي للحديث. من يريد أن يرى بعض العروض حقيقية سريعة؟ حسنا. حتى هنا لا بد لي. كاليفورنيا رفاق رؤية الشاشة؟ حسنا. لذلك ليس لدي عامل الميناء يعمل هنا، لذلك أنا يمكن التحقق من it's-- هذه هي النسخة من عامل الميناء الذي هو قيد التشغيل. يمكن القيام به من المعلومات عامل الميناء. التحقق من جميع المعلومات حول كيفية العديد صور لديهم، وهلم جرا وهلم جرا. عامل ميناء PS، لا يوجد شيء التوالي. متصلا تلك. لذا فإن أول شيء أريد القيام به هو المعرض كيف يمكنك تشغيل بسهولة الحاوية. وبالتالي فإن جمال عن المدى الطبيب، إذا كان فعلا لا تجد صورة محليا، افتراضيا يتحدث إلى طبيب المحور ويحاول العثور عليه هناك والتنزيلات لانها لكم. لذلك يتضمن عامل الميناء سحب الأوامر، بطبيعة الحال. حتى لو كنت تفعل عامل الميناء المدى، مرحبا في العالم. لذلك، أولا انها تسير في محاولة لتحديد موقعه. خلاف ذلك، وكما ترون هنا، لا يمكن العثور عليه محليا. الحق الآن أنها سحبت مجرد طبقتين التي جعلت تلك الصورة وجريت عليه. ومرحبا في العالم هو مجرد الأساس المخرجات، ما قمت به. لذلك هذا هو أسهل، واحدة من أسهل الأمثلة. حتى في الواقع أنا فقط ركض و إنهاء الحاوية الحقيقي سريع. إذا كنت تريد أن run-- وبالمناسبة، إذا أريد أن الوقت الذي، فقط لكي تعرف، هذا هو الزمن الذي يستغرقه ل في الواقع دوران واحتوائه. نحن قياسه في الالف. حتى تتمكن من رؤية كم يمكن لهذا مساعدة في الواقع كنت ليس فقط في الاختبار، ولكن أيضا حتى النشر. لذلك أن ملاحظة سريعة على ذلك. والشيء التالي أنا تنوي القيام به هو في الواقع تشغيل صورة لقد أعدت بالفعل. لذلك عامل الميناء التشغيل. -d هو مجرد العلم أن أقول ليتم تشغيله في الخلفية. و-p يعين منافذ معينة. لأن افتراضيا، حاويات معزولة، ولذلك عليك أن تحدد بالضبط كيف يمكن الوصول إليها. وفي هذه الحالة، أنا أقول عامل الميناء لتعيين منفذ عشوائي على المضيف إلى منفذ محدد داخل الحاوية نفسها. وهذا هو الأساس حيث image-- نأمل أن هذا هو الحق واحد. لذلك لا التنزيلات موازية كل من تلك الطبقات كما ترون هنا. تلك هي من صنع طبقات صورة نهاية انني بنيت. انها سوف تأخذ ثانية. وفويلا. حتى الآن إذا أفعل ملاحظة عامل ميناء، ينبغي لي رؤية شيء يعمل بنظام التشغيل. أود أن أرى الهوية، صورة أن هذا استند تشغيله، والأمر التي تم تنفيذها. وكيفية الوصول إليه هو في الأساس تذهب إلى هذا المنفذ. لذلك أنا ذاهب للذهاب to-- هذا وأنا على التوالي على AWS. انا ذاهب للذهاب الى 32769. عفوا. وها قد بدأنا. لذلك هذا هو في الواقع مجرد خدمة الإنترنت التي تظهر التي الحاوية التي تقدم لها الخدمات من. لذلك يمكنك أن ترى أنه هو من a9f الحاوية. وهنا وهذا هو اسم الحاوية. لذلك يا رفاق يمكن أن يرى مدى السرعة التي كان في الواقع لسحب فحسب، بل أيضا نشر هذه الحاوية. الآن الخطوة التالية هي ل ننظر إلى Dockerfiles وكيف يمكننا في الواقع بناء صور جديدة. أنا ذاهب لمجرد الذهاب الحصول استنساخ، وهو عينة Dockerfile على أساس في وقت سابق الرسم البياني، واحدة للأباتشي وPHP. نأمل أتذكر بلدي الريبو. لذلك ليس لدي مستودع بلدي الآن. وأنت تسير لرؤية هذا كثيرا في الواقع. لم أكن تثبيت شجرة. وذلك أساسا كنت تريد الذهاب لنرى كيف وثائق التعليمات البرمجية المصدر حول ذلك، وبعد ذلك Dockerfile على كيف لحزم فعلا. حتى انها مجرد عينة PHP أن يردد مرحبا CS50. حتى لو كنت تريد تشغيله، سأفعل عامل ميناء الإنشاء. لدي لبناء لأول مرة. انا ذاهب الى تسميته demo_cs50. وكنت في حاجة الى كلمة دلالية لذلك أيضا. لذلك دعونا نسميها V1 نقطة. لذلك كما وصفت في وقت سابق، ما أفعله اليوم وأنا أقول عامل الميناء للذهاب استخدام هكذا- يضرب في الواقع، آسف، بلدي سيئة. لم نكن نلقي نظرة في Dockerfile نفسها. حتى الأشياء الوحيدة هنا هي index.php فضلا عن الملف التمهيدي وDockerfile. لذلك إذا كنت تأخذ نظرة على وDockerfile، لذلك فمن تشبه الى حد بعيد ما وصفت في وقت سابق. انها مجرد حفنة من الخطوات التي تنفذ عامل الميناء من خلال خلق وهدم حاويات و[؟ عد؟] لهم في صورة. وأساسا يمكنك see-- (غير مسموع) أنه here-- ولكن هذا هو من الريبو المحلي. انها سوف تذهب والاستيلاء index.php. لذلك هذا هو شفرة المصدر الوحيد الذي هي في الواقع جزء من التطبيق الخاص بك. كل هذا في الأساس نظام التشغيل السباكة، الحصول على حزم الصحيحة و اباتشي، وPHP، وغيرها. ولكن هذا هو في الواقع أخذ index.php وارتكاب ذلك في وعاء، في الصورة. لذلك إذا كنت المضي قدما وتشغيل القيادة عن طريق القيام بما يلي، انها going-- في الواقع، وهذا قد يستغرق بعض الشيء. نأمل أن لا يستغرق وقتا طويلا. حتى تتمكن من رؤية الخطوات. وأنا أشجعكم على الذهاب الوطن اليوم وتجربته. وسوف مانو وصف بالضبط كيف يمكنك أن تفعل ذلك. ولكن انه لشيء رائع حقا أن نرى بالضبط ما يحدث وراء الكواليس. ولكن من السهل يبعث على السخرية لبناء صور ونشر لهم باستخدام عامل الميناء. انه أخذ قليلا أطول من المتوقع. دعونا نرى ما سيحدث عندما you-- تبرد. هكذا كما ترون، كل تلك الخطوات تمثل الخطوط في Dockerfile. ويظهر هنا أنه بنيت بنجاح هذه الصورة. لذلك إذا كنت تفعل الصور عامل ميناء، وانا ذاهب ل رؤية جميع الصور التي لدي محليا. واحد منهم يسمى بلدي اسم المستخدم، واسم من الصورة، والعلامة representing-- أساسا انها علامة نسخة. وحتى الآن ما إذا كنت تريد تشغيل ذلك، أن أفعل تشغيل عامل ميناء. وأريد فقط أن تفعل ف -d. هل V1. حتى أستطيع أن أرى الآن أن لدي اثنين حاويات تعمل، واحدة أن أنا فقط خلق ومرحبا عامل ميناء واحد التي حصلت الماضي. ويمكنك أن ترى هنا أنه تعيينه منفذ مختلف. حتى إذا ذهبت إلى نفس IP ولكن تعيينه وport-- مختلفة نأمل أن هذا لم يحدث. وحتى الآن هذا هو التطبيق أنني نشرت للتو. إذا كنت ترغب في إجراء تغييرات، I بسرعة يمكن تعديل شفرة المصدر والقيام بما يلي. دعونا نفعل مرحبا هارفارد. وحتى الآن ما يحدث أن يحدث هو أن أنا الذهاب إلى علامة ذلك مع تختلف version-- أوه، أليس هذا guy-- الوسم مع إصدار مختلف. وأنت تسير ل see-- تفعل يا رفاق يتوقع أن تأخذ نفس المقدار من الوقت لبنائه مرة ثانية أم لا؟ كل الحق، وكان أي شخص يعرف لماذا؟ الكلام. الحضور: (غير مسموع) NICOLA KABAR: انها في الاساس نحن تغيير واحد فقط من خطوات لاحقة. وبالتالي فإنه سيكون لاستخدام ذاكرة التخزين المؤقت واستخدام كل من هذه الطبقات. وهذا هو حقا بعض ميزات قاتل عامل الميناء هي الطريقة التي تستخدم في الواقع وإعادة استعمال الاستيلاء على القرص لنفسه قطع بالضبط من المعلومات. لذلك اذا لم نفعل الشيء نفسه، استغرق الأمر بضع ثواني. إذا كنا نريد أن redeploy-- حتى الآن وأرجو أن يكون ثلاث حاويات. ولكن هذا واحد يجري خدم في the-- سبعة واحد. وحتى الآن انها الحاوية الثالثة. الجميع يفهم ما أنا فعلت هنا؟ حتى الآن إذا كنت تريد مشاركة هذه حاوية حقيقية سريعة مع أصدقائك، يمكنك القيام به مجرد عامل ميناء دفع اسم الحاوية، ونأمل. وحتى الآن انها سوف يدفع به to-- أنا لا قعت هنا. اسف بشأن ذلك. ولكن أنا لن استكشاف هذه الآن. ولكن في الأساس أن قيادة واحدة هو مجرد الصعود دفعها. وأنت تسير لتكون قادرة على نرى أنه إذا ذهبت إلى عامل الميناء المحور ويمكنك تسجيل الدخول، كنت ستكون قادرا على رؤية ذلك. وبعد ذلك يمكنك فقط نشير لمن هو ذاهب لاستخدام هذه الصورة للذهاب وتسحبه. ويمكنهم استخدامها. مع ذلك، ونأمل النوع الأول من تظاهر كم هو سهل للعمل مع عامل الميناء. وأنا ذاهب لمجرد يعيدها إلى مانو. وقال انه ذاهب أعتبر من هنا. MANO العلامات: كل الحق شكرا، شكرا نيكو. وماذا في ذلك؟ حتى واحد من الأشياء أنا يريد القيام به هو وضع معا لماذا هذا هو important-- لماذا عامل الميناء ولماذا الحاويات مثل هذه تطور جديد مهم، طريقة جديدة للقيام بالفعل البرمجيات. وقبل أن أفعل، أنا ذاهب ل مجرد إدخال بعض الإحصائيات. أنا لا أريد أن أقرأ كل هذه. ولكن هذا يظهر لك الكثير حول كيفية شعبية هذا هو في المجتمع. التقنيات الأساسية عامل الميناء مفتوحة المصدر. ولهذا عامل الميناء المحرك، إنشاء، سرب، وحفنة من الاشياء الاخرى هو كل شيء مفتوح المصدر. وعلينا، ما فعله I أقول، 1300 المساهمين. ترونه الآن، إذا نظرتم الى عدد من فرص العمل، وآخر مرة نظرنا، كان حوالي 43،000 وظيفة فتحات بالذكر على وجه التحديد الألفة مع عامل الميناء. مئات الملايين من الصور لها تم تحميلها من عامل الميناء المحور. وكذلك، إحصائيات أكثر بكثير كبيرة. بالنسبة لأولئك الذين لديهم فضول، فإنه كانت مكتوبة اصلا في بيثون ومن ثم إعادة كتابتها في العودة. وانها كانت فقط فتح source-- انها فقط تم الإفراج عن حوالي 2 و 1/2 سنوات، مما يعني أنه في 2 و 1/2 سنوات، شهدنا قدرا هائلا النمو وأهمية هذا في المجتمع. وهكذا أريد أن أتحدث قليلا عن السبب. حتى مجرد أن أكرر بعض النقاط الرئيسية نيكو، عامل الميناء بسرعة. ومن المحمولة. فمن استنساخه. ويضع البيئة القياسية. وwhat-- هذا هو بلدي كربي استئصال كتل slide-- ما انها تساعد الناس، والتي الكثير من صناعة البرمجيات بدأت تفعل في 2000s في وقت مبكر، يتحرك من هذه متجانسة تطبيقات احدة حيث كان كل التبعية ليكون اختبارها قبل زيارتها التطبيق بأكمله التي سيتم نشرها، والتي قد يعني موقع على شبكة الانترنت حصلت على نشرها مرة واحدة فقط كل ثلاثة أشهر، أو أكثر، إلى أكثر من ذلك بكثير الخدمة الهندسة المعمارية الموجهة لل أو componentized نوع مختلف العمارة التطبيق. وحتى السماح لهذه نوع من أبنية التي تستفيد من عامل ميناء لخوض هذه الثلاثة المجالات الرئيسية للتنمية، التي تم تطوير كتابة التعليمات البرمجية الفعلي، اختبار التعليمات البرمجية الخاصة بك، ونشر ذلك. فلماذا هذا مهم؟ إذا كنت a-- اسمحوا لي أن أقدم مثالا على ذلك. إذا كنت موقع على شبكة الانترنت مطور الجهاز، كنت تطوير موقع على شبكة الانترنت الذي تم بناء على قاعدة البيانات التي تنتجها داود على هنا. آسف ديفيد، ادعو لكم. إذا أردت نشر كل شيء، كنت تضطر إلى الانتظار في ظل التقليدية تطوير البرمجيات متجانسة بيئة، وكنت تضطر إلى الانتظار حتى جرى انه مع قاعدة البيانات قبل أن يمكن أن تجعل في الواقع أي تغييرات على موقع الويب الخاص بك. كنت قد لإعادة الانتشار كامل التطبيق للقيام بذلك. وما يساعد عامل الميناء ما عليك فعله هو كل شخص عمل على مكونات مختلفة وتحديثها لأنها تذهب، مما يجعل مجرد تأكد من أن واجهات تبقى نفسها. ذلك ما فعلته ولقد تحول ذلك الناس من فعل هذه متجانسة ضخمة برنامج هندستها أن نشر كل شهر لمستمر التكامل والتطوير المستمر بيئة. الآن هذه ليست فريدة من نوعها لعامل الميناء، لكن عامل الميناء يجعل من الأسهل كثيرا، وهو ما يعني أنك في الأساس نشر باستمرار. نتحدث إلى الشركات التي نشر التطبيقات التي تواجه العامة آلاف المرات في اليوم ل يرون قيمة في صنع فقط التغييرات الصغيرة، ودام كما يتم تشغيله من خلال الاختبارات، السماح لها الخروج إلى الإنتاج. كان يقول لي دائما نيكو في وقت سابق أنه في كثير من البيئات، دورة حياة القياسية ل يتم قياس الحاويات في ثوان، في حين أن الجهاز الظاهري يمكن قياس منذ شهور. أردت أن تأخذ طفيف تتحول هنا لأنني في مؤسسة تعليمية. كنت أريد أن أعطي مثالا على كيفية هذا يعمل في البحوث التربوية حالة. لذلك هناك منظمة دعا bioboxes. Bioboxes لا DNA تحليل للباحثين. الآن ما وجدوا أنه عندما وresearcher-- وهذا ليس خطأ من أي وجه الخصوص researcher-- ولكن عندما الباحث نشرها خوارزمية لتحليل، بطريقة معينة، على عينة من الحمض النووي، أنها كتابة البرامج، نشر ذلك، وربما ل جيثب أو في مكان آخر، وبعد ذلك تم القيام به. كذلك كانت المشكلة أنه لم يكن استنساخه بالضرورة. لأنه من أجل فهم البرنامج، أنها ستنشأ ل بيئة تطوير بالضبط أن هذا الباحث تستخدم، عادة أجهزة الكمبيوتر المحمول، أو أجهزة الخادم أو البيانات المركز الذي كانوا يستخدمونها. وبالتالي، كان من الصعب جدا استنساخ نتائج البحوث عندما تحليل عينات من الحمض النووي للبحث في أشياء مثل incidence-- مقارنة حدوث النوبات القلبية بناء على جينات معينة حاضر، على سبيل المثال، أو مخاطر الاصابة بالسرطان، أو أي من أنواع أخرى من الأشياء. ذلك ما فعلوه كان بدلا من ذلك بدأوا خلق الحاويات. ويمكنك الذهاب إلى bioboxes.org، انها المنظمة العظيمة. وما يفعلونه هو أنها تنتج حاويات مبنية على البحوث. ثم كلما يرسل شخص ما في العينة، فإنها يمكن أن تشغيله. وكان لديه كل بيئة تحتاج إلى تشغيل هذا خوارزمية وتحقيق النتائج. ويكتشفون انهم الأرجح والكثير الكثير أكثر بسرعة قادرة على العودة النتائج إلى الناس. في واقع الأمر، ما يفعله الناس تشغل تحليلاتها على الحمض النووي، إرسال إلى أنه في bioboxes، و ثم biobox فقط يأخذ البيانات، يعمل عليه ضد متنوعة حاويات مختلفة لمعرفة نتائج مختلفة بناء على أبحاث مختلفة. حتى انها قوية جدا الطريقة التي الباحثين يمكن أن تجعل مثيل واحد الذي يسمح أشخاص آخرين في محاولة لإعادة إنتاج النتائج. إذا كيف يمكنك أن تبدأ؟ نحن مدعومة جيدا على لينكس. حتى إذا كنت تريد تثبيت أي شيء على لينكس، استخدام معيار الخاص بك مدير الحزم لتثبيت. إذا كنت تستخدم دبيان، فمن الحصول ملائمة. CentOS هو يم. قبعة فيدورا الأحمر rpm-- لا أتذكر. على أي حال، كل شيء هناك. نحن نؤيد مجموعة كبيرة ومتنوعة من توزيعات لينكس. يمكنك التحقق من تلك. لدينا أيضا خيارات لذلك أنت يمكن تشغيلها على ماك أو ويندوز. الآن ذكر في وقت سابق أن نيكو وأيد ذلك فقط على لينكس. هذا صحيح لأنه يحتاج إلى نواة لينكس. ولكن، يمكنك تشغيل في جهاز ظاهري. وما هي عامل الميناء أدوات لا، والتي يمكنك تحميل، فهو يوفر لك هذا الجهاز الظاهري. حتى مجرد سريع 48 ثانيا، أعتقد، تحميل. كنت فقط ابحث عن عامل الميناء الأدوات، تحميل لماك، وهذا الجزء هو من اسرعت بالطبع حتى الذين ل يريد مشاهدة إشارة التحميل؟ تركيب معيار ماك، ثم كنت الذهاب لرؤية جيروم وضعت في كلمة المرور الخاصة به. هذا مثير للغاية. وبعد ذلك بتثبيت مجموعة كاملة من الأدوات. وبخاصة أنه سوف تثبيت سطر الأوامر. ومن ثم تستطيع أن ترى جيروم اختبار صور له. ثم بناء على هذا، يمكنك أن ترى أن موقع يوتيوب يعتقد أن نيكو مهتمة حرب النجوم، وتظهر جيمي كيميل، وأعتقد إلين. أعتقد أن آخر واحد هو مقطع من عرض إلين. لذلك عامل الميناء أدوات يأتي على الرغم من مع أكثر من آلة عامل الميناء فقط. لذلك آلة عامل الميناء هو الشيء الذي يساعد قمت بإعداد الظاهري الجهاز على ويندوز الخاص بك أو Mac-- مربع ويندوز الخاص بك أو جهاز Mac box-- ويساعدك على القيام التقديم، لكنه يأتي أيضا مع سرب وإنشاء، والتي تم تصميمها لمساعدتك على القيام كبير نشر على نطاق التطبيق الخاص بك. حتى إذا كنت تريد إدارة مجموعات من العقد، مجموعات من الحاويات، وإنشاء و سرب هي طريقة للذهاب نحو ذلك. وبطبيعة الحال لأنه يأتي مع عامل ميناء المحرك وKitematic، وهو هذا GUI سطح المكتب. وأود أن أذكر أيضا عامل الميناء التسجيل، وهي ليست مدرجة في مربع الأدوات، وإنما هو طريقة لتشغيل بنفسك سجلات عامل الميناء الصور مثل عامل الميناء محور، ولكن يمكنك أيضا استخدام فقط عامل ميناء محور باعتبارها وسيلة للقيام بذلك. و، مؤامرة تطور، ترونه تشغيله في وعاء. وهذه هي الطريقة التي نحن توزيع الشرائح لدينا. هذا العرض كله في الواقع سطح الشريحة HTML. وكان يعمل في حاوية، والتي يمكنك الحصول by-- NICOLA KABAR: نعم، لذلك فمن تشغيل بدوام كامل على بلدي ماكس. وأنا عرض منه. وكنت تفعل عامل الميناء بعد تثبيت الأدوات الخاصة بك. يمكنك أن تفعل فقط تشغيل عامل ميناء وسهولة الحصول عليها، واستخدام الشرائح. MANO علامات: وهذا كل شيء. ولذا نشكركم جميعا على حضوركم. ونحن سعداء للإجابة على الأسئلة. وأود أن أذكر قبل أي شخص يترك هناك T شيرت هناك. عذرا أي شخص يراقب هذا باستخدام Livestream أو الفيديو، ولكن لدينا عامل الميناء T شيرت هناك. ونحن نعلم الطلاب عامل الميناء، وفي تجربتي، أساتذة جدا، مثل الملابس مجانا. لذا شكرا لكم جميعا على الخروج. ومتابعتنا على تويتر إذا كنت تريد، أو لا. لا أهتم. اتبع أيضا عامل الميناء على تويتر. هذا هو المثير للاهتمام أيضا. ثم هذا كل شيء. Docker.com. شكرا لك. [تصفيق]