Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

คู่มือสำหรับผู้เริ่มต้นใช้งาน Podman Containers บน Linux

คู่มือสำหรับผู้เริ่มต้นใช้งาน Podman Containers บน Linux

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

คอนเทนเนอร์คืออะไร

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

พอดแมนคืออะไร

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

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

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

กำลังติดตั้ง Podman

สำหรับ distros ส่วนใหญ่ Podman อยู่ในที่เก็บหลัก ทำให้เป็นคำสั่งการติดตั้งอย่างง่าย:

# Debian/Ubuntu
sudo apt install podman
 
# Fedora/CentOS/Redhat
sudo dnf install podman
 
# Arch Linux
sudo pacman -S podman
 
# OpenSUSE
sudo zypper install podman
 
# Gentoo
sudo emerge app-emulation/podman

การใช้ Podman

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

podman run -dt -p 8080:8080/tcp -e HTTPD_VAR_RUN=/run/httpd -e HTTPD_MAIN_CONF_D_PATH=/etc/httpd/conf.d \
-e HTTPD_MAIN_CONF_PATH=/etc/httpd/conf \
-e HTTPD_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/httpd/ \
registry.fedoraproject.org/f29/httpd /usr/bin/run-httpd
คู่มือสำหรับผู้เริ่มต้นใช้งาน Podman Containers บน Linux

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

หากต้องการตรวจสอบคอนเทนเนอร์ Podman ที่กำลังทำงานอยู่ ให้ป้อนคำสั่งต่อไปนี้:

podman ps
คู่มือสำหรับผู้เริ่มต้นใช้งาน Podman Containers บน Linux

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

curl https://0.0.0.0:8080

การแทนที่ 0.0.0.0 ด้วยที่อยู่ IP ใด ๆ ที่แสดงเมื่อคุณเรียกใช้ podman ps สั่งการ. คุณควรได้ HTML ที่อ่านไม่ออกจำนวนมาก แต่ถ้าคุณดูที่ด้านบนขวา คุณจะสังเกตเห็นไวยากรณ์ของชื่อใน HTML และจะรู้ว่ามันใช้งานได้

<title>Test Page for the Apache HTTP Server on Fedora</title>

รูปภาพ Podman

สิ่งที่ดีเกี่ยวกับ Podman คือการใช้รูปภาพ คุณสามารถค้นหารูปภาพอื่นๆ เช่น httpd หรือโปรแกรมอื่นๆ ที่คุณสนใจจะวิ่ง

podman search CONTAINERNAME

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

คู่มือสำหรับผู้เริ่มต้นใช้งาน Podman Containers บน Linux

ในการคว้าหนึ่งในภาพเหล่านั้น ให้เรียกใช้ podman pull คำสั่ง

podman pull CONTAINERNAME

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

podman pull docker.io/michaelaboeckler/vncserver

แทนที่จะเรียกใช้ podman pull vncserver เพราะอาจมีภาพที่ไม่ต้องการให้เลือกแทนภาพที่ต้องการ

คู่มือสำหรับผู้เริ่มต้นใช้งาน Podman Containers บน Linux

คุณยังสามารถตรวจสอบรูปภาพของคุณด้วยคำสั่งนี้:

podman images

และหยุดคอนเทนเนอร์ด้วยคำสั่งนี้:

podman stop -l

ที่ -l แฟล็กหมายความว่าจะหยุดคอนเทนเนอร์ที่รันล่าสุด แต่คุณยังสามารถใช้ -a ตั้งค่าสถานะเพื่อหยุดคอนเทนเนอร์ทั้งหมด

คุณอาจสังเกตเห็นว่า Podman สามารถดู docker.io สำหรับอิมเมจคอนเทนเนอร์ได้เช่นกัน นั่นเป็นเพราะคำสั่ง Podman และคำสั่ง Docker นั้นเหมือนกันมาก จนบางครั้งแนะนำให้ใช้นามแฝง docker คำสั่ง podman แบบนี้:

alias docker='podman'

หมายความว่าทุกครั้งที่คุณป้อน docker เครื่องของคุณจะเรียกใช้ podman สั่งเลย

พอดแมนแบบไม่มีรูท

ในการตั้งค่าระบบของคุณสำหรับคอนเทนเนอร์แบบไม่มีรูท มีการตั้งค่าบางอย่างที่ต้องดำเนินการ แต่มีเอกสารที่ดีในหน้า Github

ฉันหวังว่าคุณจะชอบไพรเมอร์นี้ใน Podman ซึ่งเป็นเครื่องมือเล็กๆ น้อยๆ ที่ยอดเยี่ยมที่จะช่วยให้คุณเรียกใช้คอนเทนเนอร์แบบไม่มี daemonless และไม่มีรูท เพื่อให้ระบบของคุณมีความบาง เป็นระเบียบ และปลอดภัย หากเป็นเช่นนั้น อย่าลืมตรวจสอบเนื้อหาคอนเทนเนอร์อื่นๆ ของเรา เช่น คำแนะนำในการใช้งาน Ubuntu ในคอนเทนเนอร์ใน ChromeOS การคัดลอกคอนเทนเนอร์ Docker ไปยังโฮสต์อื่น และการจำกัดทรัพยากร Docker Container