...
การสร้างไฟล์ container โดยใช้โปรแกรม Apptainer มีด้วยกันหลายวิธี แต่วิธีที่ง่ายและได้รับความนิยมคือการสร้างไฟล์ container แบบ build --sandbox
เพื่อให้สามารถเข้าใจได้ง่ายมากขึ้น ในที่นี้จะยกตัวอย่างการดาว์นโหลดไฟล์ container ของ pytorch และนำมาติดตั้ง package เพิ่มเติม ด้วย build --sandbox
จากนั้นแปลงกลับไปเป็นไฟล์ container ซึ่งสามารถทำตามขั้นตอนดังต่อไปนี้
ดาว์นโหลดไฟล์ container Container ที่ต้องการใช้งาน
Code Block |
---|
apptainer pull original_pytorch.sif docker://nvcr.io/nvidia/pytorch:24.05-py3 |
สร้าง sandbox จากไฟล์ container Container ที่ต้องการใช้งาน
Code Block |
---|
apptainer build --sandbox pytorch_sandbox original_pytorch.sif |
เข้าไปใน sandbox Sandbox เพื่อติดตั้ง packages Packages อื่นๆ เพิ่มเติม
Code Block |
---|
apptainer shell --writable pytorch_sandbox |
ตรวจสอบ packages ที่มีอยู่ด้วยคำสั่ง
pip list
และติดตั้ง packages Packages อื่นๆ เพิ่มเติมด้วยคำสั่งpip install package_name
Code Block |
---|
pip list pip install package_name |
หากติดตั้ง packages Packages ต่างเสร็จเรียบร้อยแล้ว ให้ใช้คำสั่ง
exit
เพื่อออกจาก sandboxSandbox
Code Block |
---|
exit |
สร้างไฟล์ container Container จาก sandbox Sandbox ที่ติดตั้ง packages Packages อื่นๆ เพิ่มเติมแล้ว
Code Block |
---|
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)
Code Block |
---|
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
Code Block |
---|
singularity build TF_OpenCV.sif addOpenCV.def |