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

การสร้างไฟล์ Container ด้วยการสร้าง Sandbox directory

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

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

apptainer pull original_tensorflow-gpu.sif docker://tensorflow/tensorflow:2.17.0-gpu
  1. สร้าง Sandbox จากไฟล์ Container ของ Tensorflow-gpu เวอร์ชั่น 2.17.0

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

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

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

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

apptainer build modified_tensorflow-gpu.sif tensorflow_sandbox

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

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

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

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

apptainer build tensorflow-gpu_OpenCV.sif AddOpenCV.def

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

The content by label feature displays related articles automatically, based on labels you choose. To edit options for this feature, select the placeholder below and tap the pencil icon.