‫ตกลง.
‫นี่คือฉันทำงานผ่านภารกิจที่ 2 ฉันเปิดบานหน้าต่างไว้สามบานที่นี่
‫ฉันอยู่ทางซ้ายซึ่งฉันสามารถเรียกใช้คำสั่งเขียนนักเทียบท่า คุณสามารถเห็นได้ในไดเร็กทอรีนี้เป็นไดเร็กทอรีเดียวกับที่คุณเริ่มต้น
‫readme ที่บอกฉันว่าจะผ่านมันไปได้อย่างไร
‫จากนั้น Dockerfile ที่ว่างเปล่าและไฟล์ประกอบของนักเทียบท่าที่ว่างเปล่า
‫จากนั้นทางด้านขวาของฉัน ฉันเปิด Vim เพื่อให้ฉันเห็นไฟล์ที่ฉันต้องการแก้ไขด้านบน จากนั้นด้านล่างฉันมีคำแนะนำ
‫อันดับแรก ฉันต้องเน้นที่ Dockerfile
‫มันบอกว่าฉันต้องทำ a จาก drupal 8 2. จากนั้นฉันต้องทำการติดตั้ง Git ฉลาดรับการปรับปรุง
‫อัปเดต.
‫โดยวิธีการที่ install -y... -y หมายความว่าใช่โดยอัตโนมัติ
‫แล้วมันก็จะอัตโนมัติ... ระบบจะไม่แจ้งให้ติดตั้ง Git
‫และนี่พูดถึงการทำความสะอาดที่เหมาะสม
‫ดังนั้นทุกครั้งที่คุณใช้ apt-get apt-get จะสร้างแคชขึ้นมาจริงเมื่อคุณอัปเดต apt-get
‫ดังนั้นเราจึงต้องการลบแคชนั้นจริง ๆ เพราะมันมีพื้นที่อย่างน้อย 10MB ที่ใช้ภาพของเราที่เราไม่ต้องการ
‫ในกรณีนี้ ฉันสามารถใช้แบ็กสแลช ซึ่งหมายความว่ารวมบรรทัดถัดไปในคำสั่งนี้ แล้วเครื่องหมาย
‫&&... หรือเครื่องหมาย
‫ampersand... กำลังบอกฉันว่าถ้าคำสั่งแรกสำเร็จให้ทำคำสั่งนี้ด้วย
‫และที่จริงแล้ว เรามีอันหนึ่งตรงนี้
‫นั่นคือคำสั่งที่สามที่ฉันจะทำจริงๆ ลบไฟล์เฉพาะเหล่านี้
‫นั่นเป็นเรื่องธรรมดา คุณเห็นสิ่งนี้ในรูปภาพจำนวนมาก
‫ฉันแค่เพิ่มมันลงในรูปภาพทั้งหมดของฉันเพื่อให้มันสะอาด
‫ไม่จำเป็นต้องทำให้มันใช้งานได้จริง
‫มันอยู่ที่นั่นเพื่อให้มันสะอาด
‫ดังนั้นเราจึงจำเป็นต้องเปลี่ยนไดเร็กทอรีการทำงานสำหรับเทมเพลตหรือธีมของเรา
‫จากนั้นเราจะต้องทำการโคลน
‫ฉันจะไปข้างหน้าและ... คัดลอกและวาง
‫หากคุณเป็นคน Git คุณอาจเห็นว่าสิ่งเหล่านี้คุ้นเคย Git เห็นได้ชัดว่ากำลังดึงเรา ... กำลังโคลนที่เก็บ Git
‫เฉพาะนี้ลงซึ่งเป็นเทมเพลต มันใช้เฉพาะสาขา มันใช้ตัวแปรสองตัวนี้ สองตัวเลือกนี้ที่นี่
‫ที่ฉันใส่เข้าไปมีไว้เพื่อบอกให้ดาวน์โหลดเฉพาะสำเนาล่าสุดและเฉพาะสาขานั้นเท่านั้น
‫โดยทั่วไปจะช่วยให้คุณประหยัดเวลาได้มาก
‫จริง ๆ แล้วช่วยให้คุณประหยัดเวลาในการดาวน์โหลดที่เก็บ Git หากคุณต้องการเพียงคอมมิทล่าสุดแบบสัมบูรณ์
‫และไฟล์ทั้งหมดที่อยู่ในนั้น และคุณต้องการเพียงสาขาเฉพาะ
‫ซึ่งน่าจะเป็นทั้งหมดที่คุณต้องการเมื่อคุณจะปรับใช้อิมเมจ
‫เพราะถ้าเราจะเปลี่ยนสิ่งนั้น เราก็จะสร้างภาพลักษณ์ใหม่ ใช่ไหม
‫นั่นเป็นเคล็ดลับที่ดี
‫ในกรณีที่คุณใช้ Git เป็นจำนวนมากสำหรับการสร้างภาพ จะช่วยประหยัดเวลาและพื้นที่ได้มากจริงๆ
‫เพราะคุณไม่จำเป็นต้องมีประวัติทั้งหมดของที่เก็บในนั้น คุณแค่ต้องการคอมมิตล่าสุด
‫ตกลง.
‫แล้วปัญหาที่นี่คือไฟล์เหล่านี้... นี่เป็นปัญหาทั่วไปใน Docker... ว่าคำสั่งใดๆ
‫ที่คุณรันที่นี่ คำสั่งทั้งหมดจะทำงานเป็นรูท
‫ดังนั้นไฟล์เหล่านี้จึงเพิ่งดาวน์โหลดและใส่ในไดเร็กทอรีนั้นเป็นรูท
‫แต่ปัญหาคือเว็บเซิร์ฟเวอร์ Apache คาดว่าไฟล์เหล่านั้นจะเป็นผู้ใช้ข้อมูล www
‫ดังนั้นฉันต้องเปลี่ยนการอนุญาตในภายหลังเพื่อให้ทำงานได้ดี
‫คุณไม่จำเป็นต้องรู้คำสั่งเหล่านี้
‫แต่นี่เป็นเรื่องธรรมดามากที่แสดงซึ่งหมายถึงเจ้าของการเปลี่ยนแปลง และ -r หมายถึงไฟล์ทั้งหมด รวมถึงไดเรกทอรีย่อยและไฟล์ย่อย
‫สำหรับผู้ใช้รายนี้และกลุ่มนี้
‫เราจะจำกัดให้อยู่ในไดเร็กทอรีที่เราสร้างขึ้นเท่านั้น
‫ช่วยเราสองสามไมโครวินาที ฉันต้องเปลี่ยนไดเร็กทอรีการทำงานของฉันกลับในกรณีที่แอปพลิเคชันคาดว่าจะอยู่ในไดเร็กทอรีการทำงานที่เริ่มต้นขึ้น
‫ฉันไม่ต้องระบุอย่างอื่น เช่น cmd หรืออะไรก็ได้ เพราะมันระบุไว้แล้วในรูปภาพจาก...
‫อิมเมจ Drupal ที่ฉันดึงออกมา ไม่เป็นไร. คิดว่าฉันทำเสร็จแล้ว
‫ไปที่ไฟล์เขียน
‫หากคุณเก็บไฟล์ไว้ก่อนหน้านี้ อาจมีลักษณะดังนี้ ใช่ไหม
‫มันมีบริการ แล้วก็มี Drupal ที่มีชื่อรูปภาพว่า
‫drupal แล้วก็วอลุ่ม แล้วก็ postgres และตัวแปรสภาพแวดล้อมสำหรับรหัสผ่าน
‫จากนั้นเรากำหนดปริมาตร
‫สิ่งที่เราต้องทำเพื่อให้ใช้งานได้ในสถานการณ์นี้
‫ตามคำแนะนำของเรา เราจำเป็นต้องเปลี่ยนชื่อรูปภาพ
‫ทุกครั้งที่มีในไฟล์เขียน
‫คีย์รูปภาพ และคีย์บิลด์ ไฟล์ดังกล่าวจะเปลี่ยนวัตถุประสงค์ของคีย์อิมเมจ
‫ตอนนี้แทนที่จะบอกว่า
‫'เฮ้ ฉันต้องการให้คุณดาวน์โหลดอิมเมจอย่างเป็นทางการของ Drupal' ที่เรากำลังพูด เมื่อเราเพิ่มในบิลด์
‫เรากำลังพูดว่า 'เฮ้ ฉันต้องการสร้างจากตำแหน่งเฉพาะบน เครื่องท้องถิ่นแล้วฉันต้องการเรียกภาพที่คุณสร้างชื่อภาพนี้ ' ตอนนี้ ฉันไม่จำเป็นต้องระบุชื่อรูปภาพจริงๆ
‫ฉันสามารถลบเส้นรูปภาพทั้งหมดได้ และมันจะสร้างชื่อโดยอัตโนมัติตามการตั้งชื่อที่คุณอาจสังเกตเห็น
‫เมื่อใดก็ตามที่คุณใช้
‫Compose จะตั้งชื่อทุกอย่างว่าเป็นมิตรกับโปรเจ็กต์นั้น
‫แต่เรากำลังจะไปต่อและฮาร์ดโค้ดไว้ที่นี่
‫สังเกตว่าฉันกำลังใส่จุดเพื่อสร้าง
‫นั่นเป็นเพียงทางลัด ชวเลขสำหรับพูดว่า
‫'เฮ้ แค่สร้างในไดเร็กทอรีนี้ และใช้ Dockerfile ที่เป็นชื่อเริ่มต้น ' ฉันไม่ได้ให้ตัวเลือกการสร้างใด ๆ แก่มัน
‫ฉันไม่ได้บอกว่าเป็นไฟล์บิลด์ที่กำหนดเองหรือตำแหน่งที่กำหนดเอง
‫ฉันแค่บอกวิธีที่ง่ายที่สุด นั่นคือวิธีที่เราสร้างมันขึ้นมา
‫ไม่เป็นไร. เสร็จแล้ว
‫ที่ควรสร้างภาพที่กำหนดเองตาม Dockerfile ของฉัน จากนั้นใน postgres
‫ฉันต้องเพิ่มปริมาณ
‫เราต้องการให้มันรักษาข้อมูลของเรา
‫เหตุผลที่เราต้องการรักษาข้อมูลคือ หากคุณกำลังทดสอบสิ่งนี้
‫และคุณทำการเทียบท่าเขียน มันจะลบฐานข้อมูลจริง ๆ แล้วเราจะไม่...
‫เมื่อเราเปิดเครื่องอีกครั้ง มันจะไม่มีข้อมูลอยู่ในนั้น ดังนั้นเราจึงต้องการให้แน่ใจว่าเรากำลังเก็บข้อมูลในการรีสตาร์ท
‫Compose
‫ถ้าเราทำนักเทียบท่าเขียนตอนนี้ หลังจากที่เรามีปริมาณข้อมูลนี้ในนั้นแล้ว มันจะไม่ลบโวลุ่มข้อมูลนั้นจริง
‫ๆ เว้นแต่เราจะทำ -v ต่อท้าย ซึ่งบอกว่า 'เฮ้ ฉันต้องการลบด้วย ปริมาณ ' ฉันคิดว่าถูกต้อง
‫ข้อมูล
‫Drupal var lib postgres SQL
‫ไม่เป็นไร.
‫แล้วฉันต้องใส่มันลงที่นี่ด้วย
‫ข้อมูล.
‫ไม่เป็นไร.
‫ฉันคิดว่าเราพร้อมแล้ว
‫กำลังบันทึกไฟล์ของฉัน
‫มาดูกันว่าเราจะทำ docker compose ได้หรือไม่ ตกลง ลองตรวจสอบเบราว์เซอร์ของเรา localhost 8080
‫ไม่เป็นไร.
‫หากทั้งหมดนี้ใช้งานได้
‫ฉันสามารถดำเนินการติดตั้งนี้ได้เหมือนที่เคยทำและ
‫postgres postgres mypasswd postgres
‫บันทึกและดำเนินการต่อ คราวนี้ฉันจะไปเร็วหน่อย เพราะฉันคิดว่าคุณเคยทำมาก่อน
‫ฉันจะกำหนดค่าไซต์อย่างรวดเร็ว
‫ตกลง.
‫เราอยู่ในไซต์
‫และคำแนะนำบอกเราให้ไปที่แท็บลักษณะที่ปรากฏ และสังเกตว่าเราใช้ค่าเริ่มต้นของ Bartik
‫เรามีธีมที่ถอนการติดตั้งที่นี่
‫ซึ่งจะไม่มีอยู่จริงหากเราไม่ได้ติดตั้งด้วยอิมเมจของเรา
‫ฉันสามารถคลิกติดตั้งและตั้งเป็นค่าเริ่มต้น
‫จากนั้นคลิกกลับไปที่ไซต์
‫ฉันมีธีมใหม่ทั้งหมดบนไซต์ของฉันโดยใช้เฟรมเวิร์กบูตสแตรปจาก
‫Twitter ซึ่งเป็นระบบเทมเพลตยอดนิยมสำหรับ CSS และเว็บไซต์
‫ดังนั้นทุกอย่างทำงานได้ตามที่ควรจะเป็น
‫ถ้าฉันย้อนกลับไปและหยุดสิ่งนี้จริง
‫ๆ ยกเลิกมันแล้วลง มันจะเป็นการลบภาพจริง ๆ
‫แต่อย่าลืมว่าจะไม่ลบข้อมูล
‫ถ้าฉันสร้างนักเทียบท่าขึ้นอีกครั้ง
‫สิ่งที่ควรเกิดขึ้นคือไฟล์กำหนดค่าทั้งหมดในโมดูลและโปรไฟล์ของ Drupal และไซต์ และธีม และข้อมูลที่อยู่ในฐานข้อมูลจริง
‫ทั้งหมดควรจะยังคงอยู่
‫ฉันควรจะกดรีเฟรชได้และมันยังคงใช้งานได้
‫ข้อดีของวิธีนี้คือคุณสามารถรักษารูปภาพและคอนเทนเนอร์ของคุณให้สะอาดอยู่เสมอ
‫ด้วยวิธีนี้ เมื่อคุณเปลี่ยนระหว่างโปรเจ็กต์
‫คุณสามารถกำจัดสิ่งนั้นในทางเทคนิคและปล่อยให้อยู่คนเดียว... ปริมาณ... เล่มเดียว... อย่าลบข้อมูลในนั้น เพียงปล่อยวอลุ่มไว้และอย่าลบข้อมูลออก
‫เมื่อคุณกลับมาที่โครงการ คุณมีข้อมูลตัวอย่างทั้งหมดอยู่ในนั้นแล้ว
‫และคุณจะไม่เริ่มต้นใหม่ทั้งหมด
‫ไม่เป็นไร. แค่นั้นแหละ.