เหตุใด Docker Build จึงไม่แสดงผลใด ๆ จากคำสั่ง

Hetu Di Docker Build Cung Mi Saedng Phl Di Cak Kha Sang



นักเทียบท่า “ สร้าง ” เป็นหนึ่งในคำสั่งหลักของเครื่องมือ Docker ที่ใช้ในการสร้างภาพผ่าน Dockerfile อิมเมจนักเทียบท่าใช้เพื่อแนะนำคอนเทนเนอร์นักเทียบท่าในการเรียกใช้และจัดการแอปพลิเคชัน อย่างไรก็ตาม ผู้ใช้อาจประสบปัญหาว่าในขณะที่ใช้งาน “ สร้างนักเทียบท่า ” คำสั่งสำหรับสร้างอิมเมจ Docker ไม่มีเอาต์พุต เช่น การอ้างอิงหรือสถานะแคช จะแสดงโดยคำสั่งที่ให้ไว้ใน Dockerfile

บล็อกนี้จะแสดงให้เห็นว่าเหตุใดการสร้าง Docker จึงไม่แสดงผลใดๆ จากคำสั่ง

เหตุใด 'docker build' ไม่แสดงผลลัพธ์ใด ๆ จากคำสั่ง

ผู้ใช้ที่ใช้แอปพลิเคชัน Docker เวอร์ชันเก่าบน Windows บางครั้งไม่สามารถรับเอาต์พุตของคำสั่งระหว่างการดำเนินการของ ' สร้างนักเทียบท่า ' สั่งการ. เนื่องจากได้รับเอาต์พุตจาก Buildkit ซึ่งจะแทนที่ Buildkit ก่อนหน้าหรือฐาน หากต้องการดูผลลัพธ์ของคำสั่งในช่วง “ สร้างนักเทียบท่า ” การดำเนินการสร้างภาพ ใช้ “ – ความคืบหน้า = ธรรมดา ' ตัวเลือก.







เพื่อจุดประสงค์นี้ เราได้เสนอขั้นตอนการดำเนินการ “ สร้างนักเทียบท่า ” คำสั่งแสดงผลของคำสั่ง



ขั้นตอนที่ 1: เปิด Visual Studio Code

ขั้นแรกให้เปิดตัวแก้ไขรหัส Visual Studio ผ่านเมนูเริ่มของ Windows:







ขั้นตอนที่ 2: สร้าง DockerFile

สร้างไฟล์ Docker ใหม่ในไดเร็กทอรีโครงการโดยคลิกที่ไอคอนที่ไฮไลต์แล้วตั้งชื่อไฟล์ว่า “ ไฟล์นักเทียบท่า ”:



วางรหัสที่กำหนดใน “ ไฟล์นักเทียบท่า '. คำแนะนำเหล่านี้จะติดตั้งโมดูล Python บางส่วนแล้วแสดงผลลัพธ์ “ นักเทียบท่าเป็นเครื่องมือการปรับใช้ที่ง่ายกว่า ”:

จากหลาม: 3.6

วิ่ง apt-รับการปรับปรุง && ฉลาดรับการติดตั้ง -ย --no-ติดตั้ง-แนะนำ \

python3-setuptools \

หลาม 3-pip \

python3-dev \

python3-venv \

คอมไพล์ \

&& \

apt-รับทำความสะอาด && \

rm -rf / เคยเป็น / lib / ฉลาด / รายการ /*

เปิดเผย 8000

หลาม CMD -ค 'พิมพ์ ('Docker เป็นเครื่องมือการปรับใช้ที่ง่ายกว่า')'

ขั้นตอนที่ 3: เรียกใช้คำสั่ง “docker build”

ถัดไป ดำเนินการคำสั่งที่ให้ไว้เพื่อสร้างอิมเมจ Docker “ -t ” ธงใช้เพื่อระบุชื่อภาพ:

$ สร้างนักเทียบท่า -t หลามอิมเมจ

คุณจะเห็นว่าคำสั่งถูกดำเนินการแต่ไม่แสดงผลใด ๆ :

ขั้นตอนที่ 4: เรียกใช้คำสั่ง “docker build” เพื่อแสดงเอาต์พุตคำสั่ง

ตอนนี้ดำเนินการเดียวกัน “ สร้างนักเทียบท่า ” คำสั่งพร้อมกับ “ – ความคืบหน้า = ธรรมดา ” ตัวเลือกเพื่อดูผลลัพธ์ของคำสั่ง:

$ สร้างนักเทียบท่า --ความคืบหน้า = ธรรมดา

สังเกตได้ว่าเราได้แสดงผลลัพธ์ของคำสั่งในช่วง “ สร้างนักเทียบท่า ” การดำเนินการ:

ขั้นตอนที่ 5: เรียกใช้ Docker Image

ถัดไป เรียกใช้อิมเมจ Docker ด้วยความช่วยเหลือของคำสั่งที่ระบุ:

$ เรียกใช้นักเทียบท่า -มัน หลาม

เราได้อธิบายว่าทำไม ' สร้างนักเทียบท่า ” ไม่แสดงผลลัพธ์ใด ๆ จากคำสั่งและวิธีแก้ไข

บทสรุป

เหตุผลที่อยู่เบื้องหลัง “ สร้างนักเทียบท่า ” การไม่แสดงเอาต์พุตจากคำสั่งใด ๆ แสดงว่าผู้ใช้ Docker ได้รับเอาต์พุตจาก Buildkit ซึ่งแทนที่ Buildkit รุ่นก่อนหน้าหรือฐานในเวอร์ชัน Docker ใหม่ เพื่อดูผลลัพธ์ของคำสั่งระหว่าง “ สร้างนักเทียบท่า คำสั่ง ” ใช้คำสั่ง “ – ความคืบหน้า = ธรรมดา ” ตัวเลือกพร้อมกับคำสั่ง โพสต์นี้แสดงให้เห็นว่าเหตุใด ' สร้างนักเทียบท่า ” ไม่แสดงผลใด ๆ จากคำสั่งและวิธีแก้ปัญหา