‫เอาล่ะ Nuno ขอให้ฉันต้องการคำสั่งไฟล์นักเทียบท่าเพื่อเริ่มเซิร์ฟเวอร์ Cassandra และหลังจากนั้นฉันต้องนำเข้าฐานข้อมูลสคีมา
‫วิธีที่ดีที่สุดในการทำเช่นนั้นคืออะไร
‫ดังนั้น ถ้ามีใครยังไม่ได้ตอบคุณในแชท เพราะบางครั้งสิ่งนั้นก็เกิดขึ้นในขณะที่ฉันกำลังเดินเตร่ในสคริปต์จุดเริ่มต้นเป็นวิธีสากลในการทำสิ่งต่าง
‫ๆ เมื่อเริ่มต้นคอนเทนเนอร์
‫นี่หมายความว่าคุณมีไฟล์ Docker ในไฟล์คุณมีจุดเริ่มต้นและคุณมี BMD นี้
‫ตอนนี้ในหลักสูตรของฉัน Docker mastery ฉันเน้นที่ CMT เพราะนั่นคือสิ่งที่คุณต้องเข้าใจในการเริ่มต้น
‫สิ่งที่ฉันต้องการเพิ่มคือส่วนอย่างน้อยหนึ่งการบรรยายในจุดเริ่มต้นและอภิปรายถึงวิธีต่างๆ
‫ที่คุณสามารถทำได้ ทำจุดเข้า
‫ดังนั้นจุดเริ่มต้นเมื่อเราแยกย่อยจุดเริ่มต้นใน CND จึงเป็นสองส่วนของบรรทัดเดียวหรือคำสั่งเดียวที่
‫Docker ทำงานเมื่อคอนเทนเนอร์ของคุณเริ่มทำงาน
‫แต่เคล็ดลับคือด้วยความมหัศจรรย์ของ bash scripting คุณสามารถใช้จุดเข้าใช้งานและแทนที่จะเป็นเพียงจุดเริ่มต้นของคำสั่งที่อาจอยู่หน้า
‫CMT ก็สามารถเรียกใช้สคริปต์และต่อท้ายสคริปต์นั้นได้ คุณสามารถบอกให้ส่งการดำเนินการไปยังบรรทัดคำสั่งที่เหลือ
‫ดังนั้นมันอาจดูไม่สมเหตุสมผลนัก แต่ลองไปดูโลกจริงที่ออกไปแล้วดูว่าเราเห็นอะไร
‫ดังนั้นฉันจะดึงผลสืบเนื่องของฉันขึ้นมาเพราะจริงๆ แล้วระบบจัดเก็บข้อมูลแบบถาวรใดๆ จะทำแบบเดียวกันที่นี่ และหากฉันค้นหาบน Docker Hub ฉันก็จะอยู่ที่ Docker Hub รูปภาพอย่างเป็นทางการของภาคต่อของฉัน
‫และถ้าฉันคลิกที่รีลีสเหล่านี้ขึ้นไปบนสุด ฉันจะได้ไฟล์นักเทียบท่าซึ่งเป็นโอเพ่นซอร์ส และในไฟล์นี้
‫คุณจะพบกับสิ่งต่างๆ มากมาย
‫เห็นได้ชัดว่ากำลังติดตั้งภาคต่อของฉันและได้รับการกำหนดค่าภาคต่ออย่างเหมาะสม แต่ที่ด้านล่างสุด คุณจะสังเกตเห็นสองสิ่งหนึ่งคือการคัดลอกเชลล์สคริปต์ไปยังตำแหน่งใดตำแหน่งหนึ่งและกำลังดำเนินการประกอบอยู่ที่นั่น
‫แต่นั่นเป็นเพียงเพื่อความเข้ากันได้แบบย้อนหลังเท่านั้น
‫แต่ด้านล่างนี้เป็นส่วนสำคัญของสคริปต์ entry point ซึ่ง entry
‫point นั้นคำสั่งในไฟล์ darker นั้นไม่จำเป็นต้องเป็นสคริปต์
‫อีกครั้งมันก็แค่ใช้ถ้ามันมีจุดเริ่มต้นและพวกเขาเห็น OMD และมันก็แค่รวมเข้าด้วยกันและเรียกใช้พวกเขาทั้งหมดในบรรทัดเดียว
‫ดังนั้นคุณจะเห็นว่านี่เป็นวิธีทั่วไปสองวิธีเนื่องจากจุดเริ่มต้นถูกใช้สำหรับการเริ่มต้นคำสั่งที่บางทีหากคุณใช้
‫Docker เพื่อเรียกใช้ยูทิลิตีบรรทัดคำสั่งฉันทำสิ่งนี้ใน 82 ping ดูว่าฉันสามารถ
‫เอ่อ ได้ไหม มี GitHub
‫ฉันมีอิมเมจ Docker มากกว่า และฉันได้ฮับ repo อยู่เบื้องหลัง และสิ่งที่มันทำคือมันกำลังเรียกใช้ยูทิลิตีบรรทัดคำสั่งเดียวในคอนเทนเนอร์
‫และวิธีการทำงานที่นี่คือฉันมีจุดเริ่มต้นเป็นคำสั่งเอง
‫และเนื่องจาก CMB ทำงานหลังจากนั้นเมื่อฉันมีทั้งคู่ในไฟล์ Docker มันก็แค่สลับกัน
‫ฉันให้มันใช้งาน CRM D ที่เป็นค่าเริ่มต้น ดังนั้นถ้าคุณคิดเกี่ยวกับมันเมื่อฉันเรียกใช้คำสั่งนี้จากคำสั่ง
‫ฉันสามารถทำ Docker ได้
‫Brett Fisher เฉือน HP จ่าย
‫จากนั้นฉันก็กด Enter จากนั้นมันจะรันคำสั่ง version โดยอัตโนมัติ
‫แต่ถ้าฉันยังคงพิมพ์ในบรรทัดคำสั่งนั้นถูกต้อง
‫ทักเกอร์วิ่ง
‫เบรตต์ ฟิชเชอร์ ถ้าฉันทำอย่างนั้น มันจะดึงภาพออกมา
‫ขออภัย ให้ฉันเปลี่ยนหน้าจอให้คุณ ดังนั้นถ้าฉันเรียกใช้ภาพนี้
‫มันจะเรียกใช้โดยค่าเริ่มต้น และโดยทั่วไปจะทิ้งความช่วยเหลือออกไป เพราะนั่นคือสิ่งที่ไฟล์นักเทียบท่าบอกให้ทำในบรรทัด
‫CRM D
‫แต่ถ้าฉันเพียงแค่เปลี่ยนแปลงบางอย่างในตอนท้ายเพราะจำรูปแบบของคำสั่ง docker
‫run ก็คือมันจะทำงาน Docker จากนั้นทำตัวเลือกของคุณจากนั้นทำอิมเมจที่คุณกำลังจะตั้งค่าว่าคุณกำลังจะเริ่มทำงานอะไรหลังจากนั้น
‫ที่แทนที่ CND ในบรรทัด
‫ดังนั้นจึงเหมือนกับการแทนที่ CMT แบบไดนามิก
‫ดังนั้น ถ้าฉันเพิ่งเรียกใช้ Google dot com ที่นี่ มันจะแทนที่เวอร์ชัน dash dash ที่จะเรียกใช้โดยค่าเริ่มต้น
‫นี่เป็นวิธีที่ยอดเยี่ยมมากที่คุณสามารถใช้ Docker ทำงานเป็นยูทิลิตีบรรทัดคำสั่งได้ ซึ่งถือว่าดี
‫นั่นคือตัวอย่างของฉันโดยพื้นฐานแล้วเกี่ยวกับวิธีการทำเช่นนั้น
‫อีกวิธีหนึ่งที่ทำได้คือไม่ใช่นั่นคือวิธีหนึ่งที่จะทำ
‫อีกทางหนึ่งคือเชลล์สคริปต์ ดังนั้นเราจะเห็นว่าจุดเริ่มต้นที่นี่กำลังกำหนดไฟล์ที่ควรรัน
‫แล้วถ้าผมเลื่อนขึ้นไปด้านบนสุดตรงนี้ และทำ 8 จุดไม่มีไดเร็กทอรีนี้ ผมจะขึ้นไปหนึ่งไดเร็กทอรี
‫ผมจะพบว่ามีไฟล์อื่นอยู่ที่นั่น
‫นั่นคือสคริปต์จุดเข้าใช้งานของนักเทียบท่าที่คัดลอกมาในบิลด์
‫ตอนนี้ในสคริปต์นี้เกิดอะไรขึ้น
‫มีของมากมายอยู่ที่นี่
‫อย่างน้อยก็น่าจะร้อยบรรทัด
‫ใช่.
‫อันที่จริงมันเป็นหลายร้อยบรรทัด
‫แต่ส่วนมหัศจรรย์ของที่นี่คือ
‫ซูมออก.
‫ตกลง.
‫ไปที่แถบเลื่อน
‫ฉันไม่ต้องการที่จะเห็นคุณ
‫ลองไปที่ Ras ที่บรรทัดล่างสุดที่นั่น
‫อย่างแน่นอน.
‫แล้วเครื่องหมายดอลลาร์ที่บอกเชลล์ว่า เฮ้ ฉันกำลังจะจบสคริปต์นี้ โปรดส่งการดำเนินการไปยังบรรทัดคำสั่งที่เหลือของฉัน
‫ซึ่งจะเป็นอะไรก็ได้ที่อยู่ใน CMT และในกรณีนี้ มันคือปีศาจภาคต่อของฉัน
‫โดยพื้นฐานแล้วจะเกิดอะไรขึ้นเมื่อคอนเทนเนอร์เริ่มทำงานในกรณีนี้คือมันจะเรียกใช้สคริปต์
‫มันถึงจุดสิ้นสุดของสคริปต์ตามที่บอกว่าโปรดทำอย่างอื่นที่ฉันบอกคุณเมื่อสิ้นสุดคำสั่งนี้และนั่นทำให้ปีศาจของคุณ
‫คุณคือปีศาจภาคต่อของฉันที่อยู่เบื้องหน้าเพื่อให้มันทำงานต่อไป
‫สิ่งที่สคริปต์ทำคือสิ่งที่คุณอาจไม่ทราบว่าเกิดขึ้นในพื้นหลังเมื่อคุณเริ่มคอนเทนเนอร์ฐานข้อมูล
‫จะสร้างผู้ใช้เริ่มต้นที่คุณต้องการตั้งค่า
‫มันเปลี่ยนรหัสผ่านรูทเป็นสิ่งที่คุณต้องการตั้ง
‫มันสร้างฐานข้อมูลตามสิ่งที่คุณบอกและมันทำทุกอย่างและตัวแปรสภาพแวดล้อมถูกต้อง
‫เพราะถ้าเราสำรองข้อมูลเพื่อทำซ้ำสิ่งนี้ และถ้าเราสำรองข้อมูลไปยังไลบรารี คุณรู้ในรูปภาพที่เป็นทางการเหล่านี้ส่วนใหญ่
‫คุณจะมีตัวแปรสภาพแวดล้อมมากมาย และมันจะระบุตัวแปรทั้งหมดไว้ที่นี่
‫และตัวแปรสภาพแวดล้อมทั้งหมดนั้นถูกใช้ในสคริปต์นั้นเพื่อกำหนดค่าภาคต่อของฉันล่วงหน้า
‫ตอนนี้ในไฟล์เอง ถ้าคุณจะเจาะลึกลงไปในไฟล์ มันคือการตั้งค่าตัวแปรสภาพแวดล้อมและค้นหาไฟล์ในกรณีที่คุณใช้ข้อมูลลับอันอบอุ่นของ
‫Drucker เช่นนั้น และโดยทั่วไปแล้วจะได้รับข้อมูลทั้งหมดที่จำเป็นในการกำหนดค่า
‫จากนั้นมันก็เริ่มต้นผลสืบเนื่องของฉันกำหนดค่ามันรวมถึงการเปลี่ยนรหัสผ่านรูทในสิ่งอื่น ๆ ทั้งหมด
‫จากนั้นมันจะปิดภาคต่อของฉันแล้วจบสคริปต์แล้วส่งการดำเนินการนั้นไปยังภาคต่อของฉันเพื่อเริ่มต้นใหม่อีกครั้ง
‫แต่คราวนี้ดี
‫ดังนั้นมันจึงเป็นการเริ่มต้นภาคต่อโดยทำบางสิ่งเพื่อหยุดภาคต่อที่เริ่มต้นการสำรองข้อมูล
‫และนั่นคือวิธีการทำงานทั้งหมดเหล่านี้ ระบบจัดเก็บข้อมูลถาวรภายในคอนเทนเนอร์อย่างเป็นทางการทำงาน
‫ดังนั้น สำหรับคุณ คำตอบยาวเหยียดสำหรับคำถามนี้คือ คุณจะต้องการใช้มันในสคริปต์การกักขังที่คุณกำหนดเอง
‫บางทีคุณอาจคัดลอกค่าเริ่มต้นหากมีหรือบางทีคุณอาจสร้างภาพของคุณเอง แล้วสร้างภาพของคุณเอง
‫ซึ่งจะสร้างสคีมานั้นในขั้นต้นในการเริ่มต้นครั้งแรก
‫ตอนนี้เมื่อคุณมีสคีมาในฐานข้อมูลแล้ว คุณก็รู้ว่าคุณจะไม่ต้องการอัปเดตสคีมาในแบบที่คุณต้องการทำสคีมาเพิ่มเติม
‫ผ่านยูทิลิตี้อื่น ๆ นอกคอนเทนเนอร์นั้นคุณจะเรียกใช้คำสั่งวงจรของฉันจากคอนเทนเนอร์อื่นและจากนั้นจะเรียกใช้ผ่านเครือข่ายในลักษณะนั้น
‫ตอนนี้ คุณไม่จำเป็นต้องเปลี่ยนแปลงสิ่งนี้เลย คุณสามารถให้มันเริ่มต้น Cassandra ของคุณ
‫แล้วเพิ่มสคีมาจากรีโมตจากคอนเทนเนอร์อื่น แต่คุณจะต้องควบคุมลำดับนั้นให้ถูกต้อง
‫คุณจะต้องรอให้คาสซานดราเริ่มต้นขึ้น
‫คุณจะต้องมีคอนเทนเนอร์อื่นที่อาจมีสคริปต์ของตัวเอง จากนั้นสคริปต์นั้นอาจจะฉลาดพอที่จะตรวจสอบ
‫Cassandra ต่อไปเพื่อดูว่าพร้อมหรือไม่
‫และเมื่อพร้อมแล้ว ให้เรียกใช้สคีมาของคุณ ไม่ว่าจะเป็นการอัปเดตสคีมาหรือการติดตั้งสคีมาดั้งเดิมของคุณ
‫โดยพื้นฐานแล้ว คุณสามารถทำแบบนั้นได้ และหลายๆ กรณีอาจเป็นวิธีที่ถูกต้อง แต่โดยเฉพาะอย่างยิ่งเมื่อคุณกำลังทำการพัฒนาในท้องถิ่น
‫หรือคุณเพียงแค่ต้องการเร่งความเร็วของสิ่งเล็กๆ น้อยๆ และง่าย และคุณต้องการสร้างแบบแผน
‫ครั้งแรกและคุณต้องการทำมันโดยอัตโนมัติ สิ่งที่คุณจะทำที่นี่คือ คุณจะใช้รูปภาพเริ่มต้นอย่างเป็นทางการ
‫และคุณจะต้องเพิ่มสคีมาและไฟล์ของคุณเองลงในอิมเมจที่คุณกำหนดเอง และโดยพื้นฐานแล้ว มันจะเป็นเมื่อมันเริ่มต้น
‫ครั้งแรกก็จะทำอย่างนั้นตอนนี้
‫นี่คือปัญหาและคุณต้องระวังให้สคริปต์จุดเริ่มต้นนี้ทำงานทุกครั้งที่คอนเทนเนอร์เริ่มต้นอย่างน้อยจากอิมเมจนั้นจากอิมเมจที่คุณสร้างเอง
‫ดังนั้น คุณต้องการให้แน่ใจว่าสคริปต์ของคุณฉลาดพอที่จะไม่เรียกใช้สคีมาซ้ำแล้วซ้ำอีกในฐานข้อมูลโฆษณาที่มีสคีมาอยู่แล้ว
‫ดังนั้น คุณต้องสร้างจากความฉลาดนั้น และนั่นเป็นสาเหตุที่บางครั้งขึ้นอยู่กับรุ่นของคุณ หากคุณกำลังคิดที่จะอัปเดตสิ่งต่าง
‫ๆ เป็นประจำ หรือหากคุณกำลังย้ายฐานข้อมูลอย่างต่อเนื่องในกลุ่ม swarm หรือคลัสเตอร์ความคิดของคิวบา
‫ให้ดำเนินการภายในคอนเทนเนอร์ฐานข้อมูลเอง อาจไม่ใช่กลยุทธ์ที่เหมาะกับคุณแต่มีตัวเลือกนี้อยู่
‫ดังนั้นตรวจสอบออก
‫และนั่นก็เหมือนกับ Cliff Notes ว่าจะทำอย่างไรกับจุดเริ่มต้นที่ไม่ได้อยู่ในหลักสูตรเดิมของฉัน
‫ดังนั้นฉันสามารถพูดได้ว่าวิดีโอนี้ในนั้นและอย่างน้อยก็มีเนื้อหาเพิ่มเติมสำหรับตอนนี้ก็ดีกว่าไม่มีอะไรเลย