Versions Compared

Key

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

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

...

การสร้างไฟล์ Container โดยใช้โปรแกรม Apptainer มีด้วยกันหลายวิธี แต่วิธีที่ง่ายและได้รับความนิยมคือการสร้างไฟล์ Container ด้วยการสร้าง Sandbox directory เพื่อให้สามารถเข้าใจได้ง่ายมากขึ้น ในที่นี้จะยกตัวอย่างการดาว์นโหลดไฟล์ Container ของ PyTorch จากนั้นติดตั้ง Package Tensorflow-gpu จากนั้นติดตั้งโปรแกรม OpenCV เพิ่มเติม ใน Sandbox directory ที่สร้างจากไฟล์ Container ของ PyTorch เพื่อใช้ในการสร้างไฟล์ Container ไฟล์ใหม่ที่มีการติดตั้ง Packages Tensorflow-gpu เพื่อนำมาใช้ในการสร้างไฟล์ Container ไฟล์ใหม่ที่มีการติดตั้งโปรแกรม OpenCV เพิ่มเติมแล้ว ซึ่งสามารถทำตามขั้นตอนดังต่อไปนี้

  1. ดาว์นโหลดไฟล์ Container ที่ต้องการใช้งานของ Tensorflow-gpu เวอร์ชั่น 2.17.0

Code Block
 apptainer pull original_pytorchtensorflow-gpu.sif docker://nvcr.io/nvidia/pytorch:24.05-py3tensorflow/tensorflow:2.17.0-gpu
  1. สร้าง Sandbox จากไฟล์ Container ที่ต้องการใช้งานของ Tensorflow-gpu เวอร์ชั่น 2.17.0

Code Block
apptainer build --sandbox pytorchtensorflow_sandbox original_pytorchtensorflow-gpu.sif
  1. เข้าไปใน Sandbox เพื่อติดตั้ง Packages อื่นๆ เพิ่มเติมเพื่อติดตั้งโปรแกรม OpenCV

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

...

  1. ติดตั้งโปรแกรม OpenCV ด้วยคำสั่งต่อไปนี้

Code Block
apt-get -y update
apt-get -y install libgl-dev
pip install --upgrade pip
pip install package_name

...

opencv-python
  1. เมื่อติดตั้งโปรแกรม OpenCV เสร็จเรียบร้อยแล้ว ให้ใช้คำสั่ง exit เพื่อออกจาก Sandbox

...

  1. สร้างไฟล์ Container จาก Sandbox ที่ติดตั้ง Packages อื่นๆ ที่มีการติดตั้งโปรแกรม OpenCV เพิ่มเติมแล้ว

Code Block
apptainer build modified_pytorchtensorflow-gpu.sif pytorchtensorflow_sandbox

การสร้างไฟล์ Container จากไฟล์ Definition

นอกจากการสร้างไฟล์ Container แบบ build --sandbox ด้วยการสร้าง Sandbox directory แล้ว ยังสามารถสร้างไฟล์ Container จากไฟล์ Definition ได้ด้วย ในที่นี้จะยกตัวอย่างการติดตั้งโปรแกรม OpenCV เพิ่มใน Tensorflow-gpu image เวอร์ชั่น 2.2.1-gpu image 17.0 จาก Docker hub โดยใช้ไฟล์ Definition ซึ่งสามารถทำตามขั้นตอนดังต่อไปนี้

  1. สร้างไฟล์ Definition (addOpenCVAddOpenCV.def)

Code Block
Bootstrap: docker
From: tensorflow/tensorflow:2.217.10-gpu

%post
    apt-get -y update
    apt-get -y install libgl-dev
    pip install --upgrade pip
    pip install opencv-python
  1. สร้างไฟล์ Container จากไฟล์ addOpenCVAddOpenCV.def

Code Block
singularityapptainer build TFtensorflow-gpu_OpenCV.sif addOpenCV.defAddOpenCV.def

คู่มืออื่นๆที่เกี่ยวข้อง

Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@48ae393
maxCheckboxfalse
showSpacefalse
sortmodified
typepage
reversetrue
labelssingularity python container
cqllabel in ( "download" , "install_apptainer" , "running" , "training" ) and space = currentSpace ( )