Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

การสร้างไฟล์ container โดยใช้โปรแกรม Apptainer มีด้วยกันหลายวิธี แต่วิธีที่ง่ายและได้รับความนิยมคือการสร้างไฟล์ container แบบ build --sandbox เพื่อให้สามารถเข้าใจได้ง่ายมากขึ้น ในที่นี้จะยกตัวอย่างการดาว์นโหลดไฟล์ container ของ pytorch และนำมาติดตั้ง package เพิ่มเติม ด้วย build --sandbox จากนั้นแปลงกลับไปเป็นไฟล์ container ซึ่งสามารถทำตามขั้นตอนดังต่อไปนี้

  1. ดาว์นโหลดไฟล์ container Container ที่ต้องการใช้งาน

Code Block
 apptainer pull original_pytorch.sif docker://nvcr.io/nvidia/pytorch:24.05-py3
  1. สร้าง sandbox จากไฟล์ container Container ที่ต้องการใช้งาน

Code Block
apptainer build --sandbox pytorch_sandbox original_pytorch.sif
  1. เข้าไปใน sandbox Sandbox เพื่อติดตั้ง packages Packages อื่นๆ เพิ่มเติม

Code Block
apptainer shell --writable pytorch_sandbox
  1. ตรวจสอบ packages ที่มีอยู่ด้วยคำสั่ง pip list และติดตั้ง packages Packages อื่นๆ เพิ่มเติมด้วยคำสั่ง pip install package_name

Code Block
pip list
pip install package_name
  1. หากติดตั้ง packages Packages ต่างเสร็จเรียบร้อยแล้ว ให้ใช้คำสั่ง exit เพื่อออกจาก sandboxSandbox

Code Block
exit
  1. สร้างไฟล์ 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 ซึ่งสามารถทำตามขั้นตอนดังต่อไปนี้

  1. สร้างไฟล์ 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
  1. สร้างไฟล์ Container จากไฟล์ addOpenCV.def

Code Block
singularity build TF_OpenCV.sif addOpenCV.def