Versions Compared

Key

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

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

Table of Contents
minLevel1
maxLevel6
outlinefalse
styledefault
typelist
printabletrue

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

...

ด้วยการสร้าง Sandbox directory

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

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

...

Container ของ Tensorflow-gpu จากนั้นติดตั้งโปรแกรม OpenCV เพิ่มเติม ใน Sandbox directory ที่สร้างจากไฟล์ Container ของ 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-py3

...

tensorflow/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 อื่นๆ เพิ่มเติมSandbox เพื่อติดตั้งโปรแกรม 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 เพื่อออกจาก sandboxSandbox

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

Code Block
apptainer build modified_pytorchtensorflow-gpu.sif pytorch_sandboxtensorflow_sandbox

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

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

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

Code Block
Bootstrap: docker
From: tensorflow/tensorflow:2.17.0-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
apptainer build tensorflow-gpu_OpenCV.sif AddOpenCV.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 ( )