บทความนี้อธิบายการสร้างไฟล์ Container โดยใช้โปรแกรม Apptainer หัวข้อต่อไปนี้ให้ข้อมูลสรุปเนื้อหาของบทความ เพื่อให้ผู้อ่านสามารถระบุส่วนที่ต้องการอ่านได้อย่างรวดเร็ว
การสร้างไฟล์ Container แบบใช้คำสั่ง build --sandbox
การสร้างไฟล์ container โดยใช้โปรแกรม Apptainer มีด้วยกันหลายวิธี แต่วิธีที่ง่ายและได้รับความนิยมคือการสร้างไฟล์ container แบบ build --sandbox
เพื่อให้สามารถเข้าใจได้ง่ายมากขึ้น ในที่นี้จะยกตัวอย่างการดาว์นโหลดไฟล์ container ของ pytorch และนำมาติดตั้ง package เพิ่มเติม ด้วย build --sandbox
จากนั้นแปลงกลับไปเป็นไฟล์ container ซึ่งสามารถทำตามขั้นตอนดังต่อไปนี้
ดาว์นโหลดไฟล์ Container ที่ต้องการใช้งาน
apptainer pull original_pytorch.sif docker://nvcr.io/nvidia/pytorch:24.05-py3
สร้าง Sandbox จากไฟล์ Container ที่ต้องการใช้งาน
apptainer build --sandbox pytorch_sandbox original_pytorch.sif
เข้าไปใน Sandbox เพื่อติดตั้ง Packages อื่นๆ เพิ่มเติม
apptainer shell --writable pytorch_sandbox
ตรวจสอบ packages ที่มีอยู่ด้วยคำสั่ง
pip list
และติดตั้ง Packages อื่นๆ เพิ่มเติมด้วยคำสั่งpip install package_name
pip list pip install package_name
หากติดตั้ง Packages ต่างเสร็จเรียบร้อยแล้ว ให้ใช้คำสั่ง
exit
เพื่อออกจาก Sandbox
exit
สร้างไฟล์ Container จาก Sandbox ที่ติดตั้ง Packages อื่นๆ เพิ่มเติมแล้ว
apptainer build modified_pytorch.sif pytorch_sandbox
การสร้างไฟล์ Container จากไฟล์ Definition
นอกจากการสร้างไฟล์ Container แบบ build --sandbox
แล้ว ยังสามารถสร้างไฟล์ Container จากไฟล์ Definition ได้ด้วย ในที่นี้จะยกตัวอย่างการติดตั้งโปรแกรม OpenCV เพิ่มใน Tensorflow 2.2.1-gpu image จาก Docker hub โดยใช้ไฟล์ Definition ซึ่งสามารถทำตามขั้นตอนดังต่อไปนี้
สร้างไฟล์ Definition (addOpenCV.def)
Bootstrap: docker From: tensorflow/tensorflow:2.2.1-gpu %post apt-get -y update apt-get -y install libgl-dev pip install --upgrade pip pip install opencv-python
สร้างไฟล์ Container จากไฟล์ addOpenCV.def
singularity build TF_OpenCV.sif addOpenCV.def