ค้นหาเว็บไซต์

Toolbx: จัดการคอนเทนเนอร์พัฒนาหลายตัวใน Fedora


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

นี่คือจุดที่ Fedora Toolbx เข้ามามีบทบาท – เครื่องมือที่ช่วยให้การสร้างสภาพแวดล้อมการพัฒนาที่อยู่ในคอนเทนเนอร์ง่ายขึ้น ในขณะที่ยังคงให้ประสบการณ์ที่ราบรื่นเหมือนการทำงานโดยตรงบนระบบโฮสต์ของคุณ

ในคู่มือนี้ คุณจะได้เรียนรู้วิธีการตั้งค่าและใช้งาน Fedora Toolbx เพื่อสร้างสภาพแวดล้อมการพัฒนาที่แยกออกเป็นส่วน ๆ ทำซ้ำได้ และจัดการได้ง่าย คุณจะได้สำรวจว่าการใช้ Toolbx ช่วยให้คุณทำงานในหลายโครงการที่มีการพึ่งพาซอฟต์แวร์ที่ขัดแย้งกันได้อย่างไร ในขณะที่ยังคงให้ระบบหลักของคุณสะอาดและเป็นระเบียบ

คู่มือนี้พาคุณผ่านพื้นฐานของ Toolbx ด้วยคำอธิบายที่เรียบง่ายและใช้งานได้จริง คุณจะเริ่มเรียนรู้ว่า Toolbx คืออะไรและทำไมคุณถึงจำเป็นต้องใช้ จากนั้นคุณจะไปยังการติดตั้งและตั้งค่าบนระบบ Fedora ของคุณ หลังจากนั้นคุณจะได้สร้างคอนเทนเนอร์การพัฒนาชิ้นแรกของคุณและเข้าใจวิธีการจัดการหลายสภาพแวดล้อมอย่างมีประสิทธิภาพ

ส่วนสุดท้ายจะแสดงวิธีการทำงานทั่วไปและแนวทางปฏิบัติที่ดีที่สุดที่จะช่วยให้คุณใช้ Toolbx ได้อย่างเต็มประสิทธิภาพในงานพัฒนาประจำวันของคุณ

หมายเหตุ: Toolbx ถูกพัฒนาขึ้น originalmente สำหรับ Fedora และทำงานได้ดีที่สุดบนระบบที่ใช้ Fedora เป็นหลัก แม้ว่าคุณสามารถใช้มันบนระบบปฏิบัติการ Linux รุ่นใหม่อื่น ๆ ได้เช่นกัน แต่คู่มือนี้เน้นไปที่ Fedora เป็นหลัก

ทำความเข้าใจ Toolbx: อะไรที่ทำให้มันแตกต่าง

ก่อนที่คุณจะเริ่มใช้งาน Toolbx สิ่งสำคัญคือคุณต้องเข้าใจว่ามันทำอะไรจริง ๆ และทำไมคุณถึงต้องการมันในกระบวนการพัฒนาของคุณ

Toolbx สร้างสภาพแวดล้อมแบบคอนเทนเนอร์โดยใช้ Podman ซึ่งเป็นเอนจินคอนเทนเนอร์ที่คล้ายกับ Docker แต่ทำงานโดยไม่ต้องใช้ daemon

สิ่งที่ทำให้ Toolbx โดดเด่นคือความสามารถในการผสานรวมคอนเทนเนอร์เหล่านี้เข้ากับระบบโฮสต์ของคุณได้อย่างแนบเนียน มอบประสบการณ์การพัฒนาที่ราบรื่นโดยไม่รู้สึกจำกัดเหมือนคอนเทนเนอร์แบบเดิม

เมื่อคุณทำงานกับคอนเทนเนอร์ Toolbx คุณจะได้รับประโยชน์สำคัญหลายประการที่ทำให้การพัฒนาของคุณง่ายขึ้น:

  • การเข้าถึงไดเรกทอรีโฮมอย่างราบรื่น – ไดเรกทอรีโฮมของคุณจะถูกติดตั้งเข้ากับคอนเทนเนอร์โดยอัตโนมัติ ซึ่งหมายความว่าไฟล์ การตั้งค่า และคีย์ SSH ของคุณจะพร้อมใช้งานทันทีโดยไม่ต้องตั้งค่าเพิ่มเติมใด ๆ
  • การเข้าถึงฮาร์ดแวร์โดยตรง – อุปกรณ์กราฟิก เสียง และอุปกรณ์อื่น ๆ สามารถใช้งานได้ทันทีโดยไม่ต้องตั้งค่าพิเศษหรือขั้นตอนการติดตั้งที่ซับซ้อน
  • การรวมระบบโฮสต์ – คุณสามารถรันแอปพลิเคชันกราฟิก เข้าถึงเครือข่าย และโต้ตอบกับระบบของคุณได้ราวกับว่าคุณกำลังทำงานโดยตรงบนระบบโฮสต์ของคุณ แทนที่จะอยู่ภายในคอนเทนเนอร์

คุณสามารถมองว่า Toolbx เป็นการสร้าง “ฟองอากาศ” ที่ปกป้องรอบ ๆ เครื่องมือพัฒนาและการพึ่งพาของคุณ ภายในฟองอากาศนี้ คุณสามารถติดตั้งแพ็กเกจ ไลบรารี หรือเครื่องมือใด ๆ ที่คุณต้องการสำหรับโปรเจกต์เฉพาะโดยไม่กระทบต่อระบบหลักของคุณ

ในส่วนต่อไป คุณจะได้เรียนรู้วิธีติดตั้ง Toolbx บนระบบ Fedora ของคุณและเริ่มสร้างสภาพแวดล้อมการพัฒนาที่แยกออกมาเหล่านี้

การติดตั้ง Toolbx บน Fedora

บน Fedora Workstation (เวอร์ชัน 28 ขึ้นไป) toolbx จะถูกติดตั้งมาให้เรียบร้อยแล้ว และคุณสามารถตรวจสอบได้โดยการรันคำสั่งดังต่อไปนี้

toolbox --version

ถ้าคุณเห็นหมายเลขเวอร์ชัน แสดงว่าคุณพร้อมใช้งานแล้ว ถ้า Toolbx ยังไม่ได้ติดตั้ง คุณสามารถเพิ่มได้ด้วย:

sudo dnf install toolbox

ติดตั้ง Toolbx บน Fedora

นี่ก็เป็นขั้นตอนการติดตั้งเท่านั้น ไม่มีไฟล์คอนฟิกซับซ้อน ไม่มีการตั้งค่าเดมอน และไม่ต้องกังวลเกี่ยวกับการติดตั้งตัวช่วยอื่นเพิ่มเติม

การสร้างคอนเทนเนอร์ Toolbx แรกของคุณ

การสร้างคอนเทนเนอร์ Toolbx เป็นกระบวนการที่ตรงไปตรงมาที่คุณสามารถทำให้เสร็จได้ด้วยคำสั่งเพียงคำสั่งเดียว ซึ่งจะสร้างคอนเทนเนอร์เริ่มต้นตามเวอร์ชัน Fedora ปัจจุบันของคุณ

ตัวอย่างเช่น หากคุณกำลังใช้งาน Fedora 41 ระบบจะสร้างคอนเทนเนอร์ Fedora 41 ให้โดยอัตโนมัติ ครั้งแรกที่คุณเรียกใช้คำสั่งนี้ Toolbx จะดาวน์โหลดอิมเมจคอนเทนเนอร์ ซึ่งอาจใช้เวลาสักครู่ขึ้นอยู่กับความเร็วการเชื่อมต่ออินเทอร์เน็ตของคุณ

toolbox create

การสร้างคอนเทนเนอร์กล่องเครื่องมือแรกของคุณ

เมื่อสร้างคอนเทนเนอร์แล้ว คุณสามารถเข้ามันได้โดยรันคำสั่งต่อไปนี้:

toolbox enter

การเข้าถึงคอนเทนเนอร์ Docker ของคุณหลังจากสร้าง

คุณจะสังเกตเห็นไอคอนคอนเทนเนอร์ขนาดเล็ก (⬢) ที่ปรากฏในพรอมต์ ซึ่งบ่งบอกว่าคุณอยู่ภายในคอนเทนเนอร์ Toolbx ของคุณ

แม้ว่าคุณจะทำงานในสภาพแวดล้อมที่ใช้คอนเทนเนอร์ คุณจะพบว่าไดเรกทอรีบ้านของคุณ ไฟล์ของคุณ และสภาพแวดล้อมส่วนใหญ่ของระบบโฮสต์ยังคงสามารถเข้าถึงได้อย่างง่ายดายเหมือนกับที่คุณใช้งานบนระบบหลักของคุณ

การใช้ Fedora เวอร์ชันต่างๆ

บางครั้งคุณจำเป็นต้องทำงานกับเวอร์ชัน Fedora เฉพาะ บางทีเซิร์ฟเวอร์การผลิตของคุณอาจใช้รุ่นเก่ากว่า หรือคุณต้องการทดสอบความเข้ากันได้กับเวอร์ชันล่าสุดก่อนอัปเกรดระบบหลักของคุณ

Toolbx ทำให้เรื่องนี้ง่ายขึ้นด้วยตัวเลือก --release หรือ -r:

toolbox create --release 39 fedora39-container
toolbox create --release 41 testing-fedora41

คุณยังสามารถใช้คอนเทนเนอร์จากเวอร์ชัน Fedora เก่าในขณะที่ใช้งานเวอร์ชันใหม่บนระบบโฮสต์ของคุณ ทำให้คุณมีวิธีที่สะดวกในการรักษาความเข้ากันได้กับสภาพแวดล้อมที่แตกต่างกัน

การทดสอบสภาพแวดล้อมคอนเทนเนอร์ของคุณ

เพื่อยืนยันว่าคุณอยู่ภายในคอนเทนเนอร์จริง ๆ และดูว่ามันแตกต่างจากระบบโฮสต์ของคุณอย่างไร คุณสามารถรันคำสั่งง่าย ๆ บางอย่าง เช่น ตรวจสอบว่าแพ็กเกจใดบ้างที่ติดตั้งอยู่

dnf list installed | wc -l

คุณสามารถตรวจสอบชื่อโฮสต์ของคอนเทนเนอร์ได้เช่นกัน:

hostname

เพื่อดูไดเร็กทอรีที่คุณกำลังทำงานอยู่และตรวจสอบว่าไดเร็กทอรีหลักของคุณสามารถเข้าถึงได้:

pwd
ls -la

คุณจะสังเกตว่าคุณอยู่ในไดเรกทอรีบ้านของคุณ โดยมีไฟล์และโฟลเดอร์ที่คุ้นเคยทั้งหมดปรากฏ แม้ว่าคุณจะอยู่ภายในคอนเทนเนอร์ก็ตาม

เรียกใช้คำสั่งภายในคอนเทนเนอร์ Toolbox ที่กำลังทำงาน

การติดตั้งซอฟต์แวร์ภายในคอนเทนเนอร์ของคุณ

ตอนนี้คุณอยู่ภายในคอนเทนเนอร์แล้ว คุณสามารถติดตั้งเครื่องมือพัฒนาโดยไม่ส่งผลกระทบต่อระบบโฮสต์ของคุณ ตัวอย่างเช่น หากคุณต้องการตั้งค่าสภาพแวดล้อมการพัฒนา Python:

sudo dnf install python3-pip python3-virtualenv git vim -y

หากคุณออกจากคอนเทนเนอร์และตรวจสอบระบบโฮสต์ของคุณ แพ็กเกจเหล่านี้จะไม่ถูกติดตั้งที่นั่น พวกมันมีอยู่เฉพาะในสภาพแวดล้อม Toolbx ของคุณเท่านั้น

ตั้งค่าสภาพแวดล้อม Python ภายในคอนเทนเนอร์ Toolbox

ลองมาทำตัวอย่างอีกหนึ่งอันกับเครื่องมือพัฒนา Node.js กัน

sudo dnf install nodejs npm -y
node --version
npm --version

คำสั่งเหล่านี้จะติดตั้ง Node.js และ npm จากนั้นตรวจสอบการติดตั้งโดยดูเวอร์ชันของพวกมัน อีกครั้ง การติดตั้งนี้แยกออกจากระบบโฮสต์ของคุณโดยสมบูรณ์

เมื่อคุณทำงานในคอนเทนเนอร์เสร็จแล้ว คุณสามารถออกจากมันได้โดยการรันคำสั่งดังนี้:

exit

การสร้างคอนเทนเนอร์ที่มีชื่อสำหรับโครงการต่าง ๆ

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

ในการสร้างคอนเทนเนอร์ที่มีชื่อ คุณใช้คำสั่ง toolbox create ตามด้วยชื่อที่คุณต้องการกำหนดให้คอนเทนเนอร์ของคุณ:

toolbox create python-dev
toolbox create nodejs-project
toolbox create rust-experiments

คำสั่งแต่ละคำสั่งเหล่านี้จะสร้างคอนเทนเนอร์ที่แตกต่างกันโดยมีสภาพแวดล้อมที่แยกตัวเอง เมื่อคุณต้องการทำงานในโครงการเฉพาะ คุณสามารถเข้าไปยังคอนเทนเนอร์นั้นโดยระบุชื่อด้วยคำสั่ง enter:

toolbox enter python-dev

วิธีการนี้ช่วยให้คุณสามารถรักษาสภาพแวดล้อมที่แยกออกจากกันอย่างสมบูรณ์สำหรับงานพัฒนาต่างๆ ได้ ตัวอย่างเช่น คอนเทนเนอร์ Python ของคุณสามารถรัน Python 3.12 พร้อมกับการขึ้นต่อสมัยใหม่ทั้งหมด ในขณะที่คอนเทนเนอร์โปรเจ็กต์เก่าอาจใช้ Python 3.8 พร้อมไลบรารีเวอร์ชันเก่า และไม่มีสภาพแวดล้อมใดรบกวนอีกสภาพแวดล้อมหนึ่งหรือมีผลกระทบต่อระบบโฮสต์ของคุณแต่อย่างใด

การรันแอปพลิเคชันกราฟิกจาก Toolbx

สิ่งที่ทำให้ Toolbx พิเศษจริง ๆ คือความสามารถในการรันแอปพลิเคชันกราฟิกได้อย่างราบรื่นจากภายในคอนเทนเนอร์ของคุณ แตกต่างจากคอนเทนเนอร์แบบดั้งเดิมที่ต้องมีการตั้งค่าและกำหนดค่า X11 forwarding ที่ซับซ้อน

Toolbx จัดการการรวมการแสดงผลทั้งหมดโดยอัตโนมัติ ทำให้รู้สึกเหมือนคุณกำลังรันแอปพลิเคชันโดยตรงบนระบบโฮสต์ของคุณ

เพื่อดูว่าสิ่งนี้ทำงานอย่างไรในทางปฏิบัติ ลองติดตั้งและรันโปรแกรมแก้ไขข้อความแบบกราฟิกเป็นตัวอย่างกัน

toolbox enter
sudo dnf install gedit -y

เมื่อการติดตั้งเสร็จสมบูรณ์ คุณสามารถเปิดตัวแก้ไขได้

gedit &

หน้าต่าง gedit จะเปิดขึ้นบนเดสก์ท็อปของคุณราวกับว่าคุณเปิดจากระบบโฮสต์ของคุณ คุณสามารถสร้าง แก้ไข และบันทึกไฟล์ได้ และทุกอย่างทำงานเหมือนกับที่คุณคาดหวังไว้

เครื่องหมายแอมเพอร์แซนด์ (&) ที่ท้ายคำสั่งจะทำให้โปรแกรมรันอยู่เบื้องหลัง ทำให้คุณสามารถใช้งานเทอร์มินัลต่อได้ในขณะที่แอปพลิเคชันกราฟิกยังเปิดอยู่

การรันแอป GUI ภายในคอนเทนเนอร์ Toolbx

การจัดการหลายคอนเทนเนอร์ Toolbx

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

การลงรายการคอนเทนเนอร์ของคุณ

ในการดูคอนเทนเนอร์ทั้งหมดที่คุณสร้างขึ้น คุณต้องรันคำสั่ง list:

toolbox list

การดูคอนเทนเนอร์กล่องเครื่องมือทั้งหมดในระบบของคุณ

จากผลลัพธ์นี้ คุณสามารถดูได้ว่าคอนเทนเนอร์ใดกำลังทำงานอยู่และคอนเทนเนอร์ใดที่ได้ออกไปแล้ว

กำลังตรวจสอบรายละเอียดตู้คอนเทนเนอร์

หากคุณต้องการข้อมูลที่ละเอียดมากขึ้นเกี่ยวกับคอนเทนเนอร์เฉพาะ คุณสามารถใช้ Podman โดยตรงได้ เนื่องจากคอนเทนเนอร์ของ Toolbx เป็นคอนเทนเนอร์ Podman ปกติ:

podman ps -a

คุณยังสามารถตรวจสอบคอนเทนเนอร์เฉพาะเพื่อดูการตั้งค่าทั้งหมดของมันได้:

podman inspect python-dev

รับข้อมูลรายละเอียดเกี่ยวกับคอนเทนเนอร์ Toolbx โดยใช้ Podman

การหยุดและเริ่มคอนเทนเนอร์ที่กำลังรัน

เมื่อคุณทำงานในคอนเทนเนอร์เสร็จและต้องการคืนทรัพยากรของระบบ คุณสามารถหยุดมันได้โดยตรง

podman stop python-dev

คุณสามารถตรวจสอบได้ว่าคอนเทนเนอร์หยุดทำงานแล้วโดยการรันคำสั่งแสดงรายการอีกครั้ง:

toolbox list

คุณจะเห็นว่าสถานะของคอนเทนเนอร์เปลี่ยนจาก «กำลังทำงาน» เป็น «หยุดทำงาน»

หยุดคอนเทนเนอร์ Toolbx ที่กำลังทำงาน

หากคุณมีคอนเทนเนอร์ที่ปัจจุบันถูกหยุดและคุณต้องการใช้งานมันอีกครั้ง คุณเพียงแค่ เข้าสู่ มัน และ Toolbx จะเริ่มมันให้คุณโดยอัตโนมัติ:

toolbox enter python-dev

การลบคอนเทนเนอร์ที่คุณไม่ต้องการอีกต่อไป

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

toolbox rm python-dev

ก่อนที่จะลบคอนเทนเนอร์ Toolbx จะขอให้คุณยืนยันการกระทำ เพียงพิมพ์ y เพื่อยืนยัน และ Toolbx จะลบคอนเทนเนอร์พร้อมกับแพ็กเกจและการตั้งค่าทั้งหมดที่คุณติดตั้งภายในนั้น

ข้อควรทราบสำคัญ: การลบคอนเทนเนอร์จะลบแพ็กเกจทั้งหมด การตั้งค่าระบบ และข้อมูลใด ๆ ที่เก็บอยู่ในระบบไฟล์ของคอนเทนเนอร์ แต่ไฟล์ในโฟลเดอร์บ้านของคุณจะยังคงปลอดภัยอย่างสมบูรณ์

หลังจากลบแล้ว คุณสามารถตรวจสอบการใช้งานดิสก์ของคอนเทนเนอร์ อิมเมจ และวอลุ่มทั้งหมดของคุณได้ด้วย:

podman system df

ดูพื้นที่ดิสก์ที่ใช้โดยทรัพยากร Toolbx

หากคุณต้องการเพิ่มพื้นที่ดิสก์โดยการลบคอนเทนเนอร์ที่หยุดทำงานทั้งหมดและอิมเมจที่ไม่ได้ใช้งาน คุณสามารถรันคำสั่งทำความสะอาดได้ดังนี้:

podman system prune
บทสรุป

Toolbx ช่วยให้คุณจัดการสภาพแวดล้อมการพัฒนาบนระบบ Fedora ของคุณได้อย่างทรงพลังโดยไม่ต้องยุ่งยากกับเครื่องเสมือนแบบดั้งเดิม

ตลอดคู่มือนี้ คุณได้เรียนรู้วิธีสร้างคอนเทนเนอร์แยก ทำงานกับแอปพลิเคชันกราฟิก และจัดการสภาพแวดล้อมการพัฒนาหลายชุดในขณะที่รักษาระบบหลักให้สะอาด

คุณพบว่าคู่มือนี้มีประโยชน์หรือไม่? แบ่งปันประสบการณ์ คำถาม หรือเคล็ดลับของคุณในความคิดเห็นด้านล่าง ผลตอบรับของคุณช่วยให้เราปรับปรุงเนื้อหาและช่วยเหลือผู้อ่านคนอื่น ๆ ในการใช้งาน Toolbx ของพวกเขา