‫เอาล่ะ นี่คือคำตอบสำหรับการมอบหมายการสร้าง Dockerfile แรกของเรา
‫ถ้าฉันอยู่ในรูทของที่เก็บของเราที่คุณดาวน์โหลดมาตั้งแต่ต้นของหลักสูตรนี้เราควรจะได้รับมอบหมาย dockerfile
‫1
‫ถ้าเราดูที่นั่นฉันมีไฟล์เดียวที่ฉันสนใจจริงๆและนั่นคือ Dockerfile
‫สันนิษฐานว่านี่คือแหล่งที่มาที่ใครบางคนมอบให้ฉันและพวกเขาเป็นแอปที่พัฒนาโดยใช้โหนด js,
‫และฉันไม่รู้อะไรมากเกี่ยวกับเรื่องนี้ดังนั้นฉันจะแก้ไข Dockerfile
‫ตกลง.
‫ถ้าฉันทำตามคำแนะนำจากนักพัฒนาฉันรู้ว่าสิ่งแรกที่ฉันต้องทำคือฉันต้องไปรับภาพของฉัน
‫และฉันรู้ว่าฉันต้องใช้โหนดอย่างเป็นทางการ ให้ฉันไปดูมัน
‫ขวา. มีโหนดเป็นทางการ
‫ฉันต้องการเวอร์ชัน 6 ที่ทำงานบนอัลไพน์ ดังนั้นมี 6 อัลไพน์
‫เอาล่ะ ดังนั้น 6 อัลไพน์
‫ตกลง. สิ่งต่อไป ... ฉันจำเป็นต้องเปิดเผยพอร์ต 3000
‫ฉันเปิดเผย 3000 ที่นี่เพราะนั่นคือสิ่งที่แอพได้รับการออกแบบมาให้ทำงาน
‫แต่เมื่อฉันเรียกใช้ในภายหลังด้วยการเรียกใช้นักเทียบท่าฉันต้องจำไว้ว่าฉันจะต้องใช้ -p กับพอร์ต 80
‫ไปที่พอร์ต 3000
‫เอาล่ะ
‫อันนี้ต้องใช้ผู้จัดการแพคเกจเพื่อติดตั้งแอพนี้
‫ฉันจะใช้คำสั่งเรียกใช้สำหรับการที่
‫จากนั้นฉันจะสร้างไดเรกทอรี
‫เอาล่ะ
‫ฉันจะทำให้พวกเขาแยกคำสั่งเรียกใช้ ... เรียกใช้
‫apk เพิ่มแล้วเรียกใช้ mkdir
‫ตกลง. จากนั้นฉันต้องคัดลอกในไฟล์เดียวที่ดูเหมือนว่า
‫ดังนั้นฉันอาจเปลี่ยนไดเรกทอรีทำงานเป็นไดเรกทอรีที่เราเพิ่งสร้างขึ้น
‫ดังนั้นแอปพลิเคชันแหล่งที่มาของผู้ใช้ WORKDIR ที่จะช่วยฉันในภายหลัง
‫ฉันสามารถทำแพ็คเกจ json ของแพคเกจ json
‫ได้ เอาล่ะ จากนั้นฉันต้องเรียกใช้คำสั่ง install ดูเหมือนว่ามันจะวิ่ง อันนี้บอกว่ารันคำสั่งอื่นเพื่อล้างข้อมูล
‫เอาล่ะ
‫ปกติแล้วเมื่อคุณรันคำสั่ง cleanup คุณต้องการให้มันรันบรรทัดเดียวกันหรือ run line เดียวกันกับการติดตั้งจริง
‫ด้วยวิธีนี้จะเป็นการลบทุกอย่างในเวลาเดียวกันและคุณจะได้เลเยอร์ภาพเพียงชั้นเดียว
‫นี่คือที่ดีที่สุดสำหรับพื้นที่ภาพ
‫ดังนั้นฉันจะเพิ่มที่นี่
‫และสิ่งที่เครื่องหมาย & คู่หรือเครื่องหมายแอมเปอร์แซนด์เรียกว่าทำที่นี่จริง ๆ แล้วมันเป็นเงื่อนไข
‫มันบอกกับบรรทัดคำสั่งบน Linux ที่บอกว่า 'เฮ้ถ้าคุณทำเสร็จแล้วและสำเร็จแล้วให้ทำคำสั่งที่สอง
‫'คุณอาจเห็นผู้คนใส่เซมิโคลอนในบางครั้งและก็ใช้ได้เช่นกัน
‫ความแตกต่างคือเครื่องหมายอัฒภาคไม่ได้ขึ้นอยู่กับว่าคำสั่งแรกสำเร็จหรือไม่
‫มันรันแค่วินาทีที่สองโดยไม่คำนึงถึง
‫ดังนั้นฉันจึงชอบเครื่องหมายแอมเปอร์แซนด์คู่
‫เอาล่ะ
‫คัดลอกไฟล์เพิ่มเติมดูเหมือนว่า ถ้าฉันจะคัดลอกทุกอย่างฉันจะทำ .. นั่นเป็นวิธีที่ง่ายที่จะทำ
‫ตรวจสอบให้แน่ใจว่ามีช่องว่างตรงกลาง
‫โดยทั่วไปแล้วจะพูดว่า 'คัดลอกทุกสิ่งจากไดเรกทอรีปัจจุบันของฉันบนโฮสต์ไปยังไดเรกทอรีทำงานปัจจุบันในภาพ
‫' ตกลง.
‫ฉันเป็นคนสุดท้าย
‫และอันนี้ดูยุ่งยากเล็กน้อย
‫ฉันมีสี่ส่วนต่าง ๆ ของคำสั่งที่ฉันต้องการเรียกใช้
‫ดังนั้นด้วยรูปแบบนี้ฉันต้องเรียกใช้ tini แล้วเครื่องหมายจุลภาค
‫ดังนั้นนี่คือรูปแบบ JSON
‫stanza คำสั่งนี้โดยเฉพาะ -, โหนด bin www
‫และถ้าฉันอยากรู้เกี่ยวกับเรื่องนั้นฉันสามารถไปที่เบราว์เซอร์ของฉันและทำนักเทียบท่าเรียกใช้หรือสร้างนักเทียบท่าสร้างคำสั่ง
‫และฉันเดิมพันคุณอ้างอิง Dockerfile
‫และที่นี่ในหน้านี้ฉันสามารถไปที่ cmd และมันพูดเกี่ยวกับรูปแบบที่แน่นอน
‫ถ้าคุณอ่านที่นี่คุณจะสังเกตเห็นว่ามีบางสิ่งที่เรียกว่ารูปแบบเปลือก และยังมีบางสิ่งที่พวกเขากำลังพูดถึงเกี่ยวกับจุดเข้า
‫เราจะพูดถึงเรื่องต่อไปในหลักสูตรในส่วนของ Dockerfile ขั้นสูง
‫แต่สำหรับตอนนี้มันดีนะ
‫ลองสร้างมันดู นักเทียบท่าสร้าง ฉันไม่สนใจสิ่งที่ฉันเรียกตอนนี้จริงๆ
‫ฉันแค่พยายามทดสอบงานสร้างและโดยปกติงานสร้างของฉันจะไม่ทำงานในครั้งแรก
‫ดังนั้นฉันแค่จะเรียกมันว่า testnode ฉันจะสร้างไดเรกทอรีนี้
‫ตกลง.
‫ดูเหมือนว่ามันจะสร้างขึ้นอย่างถูกต้อง
‫เรามาดูว่าคุณสามารถเรียกใช้
‫ฉันจะทำ - อาร์มเพราะฉันไม่สนใจที่จะเก็บมันหลังจากที่ฉันทดสอบแล้วดังนั้นฉันจะทำเช่นนั้น
‫ฉันไม่จำเป็นต้องตั้งชื่อ
‫ฉันต้องใส่พอร์ตเพื่อเปิดพอร์ต มันต้องการที่จะทำงานบน 80 แต่มันฟังบน 3000 ตกลง.
‫นั่นเป็นข้อความธรรมดาที่เราได้รับจาก
‫tini ภายใน Alpine ดังนั้นฉันจะไม่กังวลมากเกินไป
‫ไปดูกันว่ามันใช้งานได้ไหม
‫หวาน. เราจะเห็นบันทึกที่นั่น
‫ตกลง.
‫ดูเหมือนว่ามัน ..
‫ขอบคุณกัปตัน Picard
‫ฉันชื่นชมเสียงปรบมือ
‫ฉันขอขอบคุณการสนับสนุน
‫ขอบคุณ
‫เอาล่ะ
‫ควบคุม c ออกจากที่นั่น
‫ตอนนี้มันควรจะอยู่ที่ด้านบนของรายการภาพของฉัน
‫ฉันต้องเปลี่ยนชื่อก่อนที่จะใส่ลงใน Docker Hub
‫ดังนั้นนักเทียบท่าแท็กและฉันเชื่อว่ารูปแบบเก่าและใหม่ ใช่.
‫ดังนั้นแท็กนักเทียบท่าทดสอบโหนด
‫ฉันจะเรียกมันว่าโหนดทดสอบ bretfisher
‫และฉันจะปล่อยให้มันเป็นอย่างล่าสุด
‫ดังนั้นนักเทียบท่าดันและสิ่งนี้ สิ่งที่เราต้องกังวลคือชื่อ
‫ดังนั้นนักเทียบท่าดันโหนดทดสอบ bretfisher
‫เอาล่ะ ไปดูนักเทียบท่าแล้วดู
‫เราไปทดสอบโหนดกันแล้ว
‫ตกลง.
‫ฉันจะล้างหน้าจอและภาพนักเทียบท่า ls
‫และมันอยู่ที่นั่น ฉันจะลบมันภาพทดสอบนักเทียบท่า rm bretfisher
‫เอาล่ะ ตอนนี้ฉันกำลังจะเรียกใช้จริงนักเทียบท่าคอนเทนเนอร์วิ่ง --rm -p 80 3000
‫เหมือนเมื่อก่อน
‫จากนั้นฉันก็จะเรียกมันว่าโหนดทดสอบ bretfisher
‫ควรดาวน์โหลดและเรียกใช้
‫เอาล่ะ
‫ถ้าฉันกลับไปที่เบราว์เซอร์ localhost นั่นก็คือ ฉันสามารถกดรีเฟรชเพื่อให้แน่ใจ
‫ใช่. เย็น.